3列と4行の2つのデータがあります。私がする必要があるのは、df1のいくつかの要素を同じ場所のdf2の値に置き換えることです。置き換える必要がある要素が同じ列にある場合、このジョブは簡単に実行されます。しかし、私の問題は彼らが異なるコラムにあることです。私は、どの列を置き換えなければならないという情報を持つ行列(ここではinfo
)を持っています。以下は例です。 info
は、最初の3行については1番目と3番目の列を変更する必要があり、最後の行では2番目と3番目の列を変更する必要があることを示しています。 R:列の位置情報を指定すると、異なる列のデータ要素を置き換えます。
set.seed(1)
df1 <-matrix(sample(1:1000, 12, replace=T), ncol=3)
df2 <-round(matrix(runif(12, 0.1, 0.9),ncol=3),1)
info<-matrix(rep(1:3, 4),ncol=3, byrow=T)
info<-t(apply(info, 1, function(x) sort(sample(x, 2, replace=F))))
> df1
[,1] [,2] [,3]
[1,] 266 202 630
[2,] 373 899 62
[3,] 573 945 206
[4,] 909 661 177
> df2
[,1] [,2] [,3]
[1,] 0.6 0.7 0.8
[2,] 0.4 0.9 0.3
[3,] 0.7 0.4 0.6
[4,] 0.5 0.7 0.2
> info
[,1] [,2]
[1,] 1 3
[2,] 1 3
[3,] 1 3
[4,] 2 3
この例から、私がどのように見える結果を取得したい
、 [,1] [,2] [,3]
[1,] 0.6 202 0.8
[2,] 0.4 899 0.3
[3,] 0.7 945 0.6
[4,] 909 0.7 0.2
すべてのヘルプは本当にいただければ幸いです。ありがとう。