【发布时间】:2013-09-29 23:36:01
【问题描述】:
我正在尝试用长度为 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
你能帮帮我吗?
【问题讨论】:
-
ab已经是0,所以只需要改cd -
+1 是一个可重现的例子。
标签: r vector replace dataframe multiple-columns