我的数据集如下:
Q_B Q1 Q2 Q3 Q4
1 5 4 5 3
2
1 3 4 3 1
2
1 1 1 1 1
如果Q_B == 2,我正在做的是将Q1更改为Q4,
我使用Q1[Q_B==2]<-0,Q2[Q_B==2]<0
我必须为Q1到Q4编写相同的代码,有没有简单的方法呢?谢谢!
答案 0 :(得分:0)
我们可以做到
df1[df1$Q_B==2,-1] <- 0
df1 <- structure(list(Q_B = c(1L, 2L, 1L, 2L, 1L), Q1 = c(5L, NA, 3L,
NA, 1L), Q2 = c(4L, NA, 4L, NA, 1L), Q3 = c(5L, NA, 3L, NA, 1L
), Q4 = c(3L, NA, 1L, NA, 1L)), .Names = c("Q_B", "Q1", "Q2",
"Q3", "Q4"), class = "data.frame", row.names = c(NA, -5L))