我正在尝试用长度为 2 的向量替换 2 列中每一行的值。向您展示更容易。
首先是一些数据。
set.seed(1234)
x<-data.frame(x=sample(c(0:3), 10, replace=T))
x$ab<-0 #column that will be replaced
x$cd<-0 #column that will be replaced
数据如下所示:
x ab cd
1 0 0 0
2 2 0 0
3 2 0 0
4 2 0 0
5 3 0 0
6 2 0 0
7 0 0 0
8 0 0 0
9 2 0 0
10 2 0 0
每次 x=2 或 x=3 时,我想 ab=0 和 cd=1。
我的尝试是这样的:
x[with(x, which(x==2|x==3)), c(2:3)] <- c(0,1)
没有预期的结果:
x ab cd
1 0 0 0
2 2 0 1
3 2 1 0
4 2 0 1
5 3 1 0
6 2 0 1
7 0 0 0
8 0 0 0
9 2 1 0
10 2 0 1
你能帮助我吗?