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
手伝って頂けますか?