2017-11-04 1 views
0

데이터를 검색하고 조건 값이 특정 문자열과 같은 환경 값을 찾으려는 함수를 만들고 싶습니다.함수에서 인수로 문자열 값 전달

Error: evaluation nested too deeply: infinite recursion/options(expressions=)?

Error during wrapup: evaluation nested too deeply: infinite recursion/options(expressions

subset = function(data, ttt="string") { 
    subset.cond <- subset(data, Condition==ttt) 
    row.cond <- subset.cond[ which(subset.cond$experience != 0),] 
    row.cond$experience <- factor(row.cond$experience) #drop factor levels 
    exp.cond <- levels(row.cond$experience) #get experience names 
    cond <- data[ which(data$experience==exp.cond), ] #cleaned data 
    return(list(subset.cond=subset.cond,row.cond=row.cond,exp.cond=exp.cond)) 
} 

subset(data=data_1, ttt="drug1") 

사람이 어떤 조언이 있습니까 :이 그러나이 오류를 얻을? 감사합니다.

+0

샘플 데이터를 제공 할 수 있습니까? –

+0

intensity \t experience \t Condition 1.0240835869 \t n5 \t drug4 1.6622650638 \t n5 \t drug4 0.8888095207 \t n5 \t drug4 0.9113421721 \t n5 \t drug4 1.2815784814 \t n11 \t drug2 0.5038846664 \t n11 \t drug2 1.5163685324 \t n11 \t drug2 1.315169773 \t n5 \t drug1+drug2 1.2837342548 \t n5 \t drug1+drug2 1.307013202 \t n5 \t drug1+drug2 1.1297371947 \t n5 \t drug1+drug2 0.6114186921 \t n11 \t drug1+drug2 1.0337745362 \t n11 \t drug1+drug2 1.5503374089 \t n11 \t drug1+drug2 1.4897651898 \t n11 \t drug1+drug2 1.4164219704 \t n9 \t drug4 0.6683913411 \t n9 \t drug4 2.031900503 \t n9 \t drug1 3.5488157902 \t n9 \t drug1 2.1030339989 \t n9 \t drug1 2.1243746251 \t n9 \t drug1
wondRful

+0

해당 함수가 특정 열 또는 전체 데이터 집합을 보게됩니까? 특정 패턴이 매치되는지 아닌지를 검사하는'grepl' 함수를 사용할 수 있습니다. 예를 들어,이'grepl ("an", c ("use", "another", "example", "man")) – AntoniosK

답변

0

무한 재귀 함수를 작성했습니다. 너 의도 한거야? subset 함수의 첫 번째 행은 subset을 호출합니다 (즉, 자신을 호출합니다).

기본 기능 subset을 사용하도록 지정하여이 기능을 사용할 수 있습니다. 예 :

subset = function(data, ttt="string") { 
    subset.cond <- base::subset(data, Condition==ttt) 
    [...] 
} 
관련 문제