2014-03-31 2 views
0

벡터 x=c(3,2,1)이 있다고 가정합니다. 데이터 프레임이 d입니다. 해당 데이터 프레임에 열을 추가하여 x 값이 3 인 경우 새 열 값은 1이며 그 외 값은 0입니다. 그것은 간단한 "ifelse"를 사용하여 수행 할 수 있습니다. 그러나 내 문제는 "var_3"(따옴표없이)이라는 새 벡터 이름을 갖고 싶다는 것입니다.이 3x[1]에서 추출합니다.벡터의 값을 사용하여 R

이 나는 ​​시도했다 : 할당의 대상이 아닌 언어 객체로 확장 : 나에게 오류를 제공

d$paste("var",x[1],sep="_")=ifelse(d$x==x[1],1,0) 

합니다. 붙여 넣기 때문에 나에게 내 원하는 var_3하지만 따옴표와 함께 제공합니다. 나는 noquotes도 시도했지만 행운이 없다.

답변

1

이것은 $ 연산자하지만 [ 첨자 연산자와 함께 작동하지 않습니다

d[, paste("var", x[1], sep="_")] <- ifelse(d$x == x[1], 1, 0) 
관련 문제