그래서, 나는 당신의 데이터 세트에 대한 액세스 권한이없는, 그래서 나는 간단한 예제를 마련했다.
x1<-rnorm(100,mean=0,sd=10)
x2<-rep(0,100)
x3<-rep(1,100)
df<-data.frame(x1,x2,x3)
summary(df$x2)
#overwrite x2 for values of x1 less than 3
df$x2[ which(df$x1 < 3) ] <- 1
summary(df$x2)
summary(df$x3)
#overwrite x3 for values of x1 >= 3
df$x3[ which(df$x1 >= 3) ] <- 0
summary(df$x3)
데이터 프레임에 3 개의 변수가 있음을 알 수 있습니다. x1은 임의의 변수이고 x2와 x3은 x1의 공칭 (x1> = 3 인 경우 x1은 < 3이면 x2는 1이고 x3은 0이어야 함)입니다. 이 명령을 실행하면 which 문을 사용하면 덮어 쓸 필요가있는 인덱스를 반환하기 때문에 값을 선택적으로 덮어 쓰는 데 도움이됩니다.
> x1<-rnorm(100,mean=0,sd=10)
> x2<-rep(0,100)
> x3<-rep(1,100)
>
> df<-data.frame(x1,x2,x3)
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 0 0 0 0 0
>
> #overwrite x2 for values of x1 less than 3
> df$x2[ which(df$x1 < 3) ] <- 1
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.58 1.00 1.00
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> #overwrite x3 for values of x1 >= 3
> df$x3[ which(df$x1 >= 3) ] <- 1
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> x1<-rnorm(100,mean=0,sd=10)
> x2<-rep(0,100)
> x3<-rep(1,100)
>
> df<-data.frame(x1,x2,x3)
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0 0 0 0 0 0
>
> #overwrite x2 for values of x1 less than 3
> df$x2[ which(df$x1 < 3) ] <- 1
>
> summary(df$x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.63 1.00 1.00
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1 1 1 1 1 1
> #overwrite x3 for values of x1 >= 3
> df$x3[ which(df$x1 >= 3) ] <- 0
>
> summary(df$x3)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.00 0.00 1.00 0.63 1.00 1.00
나중에 다른 사람들이 오류를보다 쉽게 재현 할 수 있도록 데이터 샘플을 게시하십시오. 당신의 질문에 답하기 위해서, 당신은 이것을하기 위해'for' 루프가 필요하지 않습니다 - 저는'venue [, 9]
nrussell