2014-12-07 3 views
0

여러 변수가있는 data.frame 개체가 있습니다. 많은 다른 변수에서 값 (예 : 2)이 발생하는 횟수를 나타내는 추가 변수를 만들려고합니다. R에서 첨가물 색인 만들기

mydata <- data.frame(x=c(1, 2, NA), y = c(NA, 2, 2), z=c(NA, NA, 2)) 
    x y z 
1 1 NA NA 
2 2 2 NA 
3 NA 2 2 

다음 I 새로운 변수 (Z1)를 생성 할 경우, 예를 들어, 횟수를 나타내는 변수 즉 X 및 Y에 기초하는 2 개 행에 나타난다. 그래서 새로운 data.frame는 다음과 같이 보일 것이다 :

x y z z1 
1 1 NA NA 0 
2 2 2 NA 2 
3 NA 2 2 1 

나는 문 경우 지금까지 사용하여 시도했지만, 그들은 때문에 누락 된 값의 오류를 반환합니다. 이견있는 사람?

답변

1

이 무엇을해야 시도 할 수 있습니다 :

mydata$z1 <- apply(X = mydata[,c("x","y")] == 2, MARGIN = 1, FUN = sum, na.rm=TRUE) 

mydata 
    x y z z1 
1 1 NA NA 0 
2 2 2 NA 2 
3 NA 2 2 1 
2

당신은 당신이 원하는

transform(mydata, z1=rowSums(cbind(x,y)==2, na.rm=TRUE)) 
# x y z z1 
#1 1 NA NA 0 
#2 2 2 NA 2 
#3 NA 2 2 1