:
df=read.table(text="ID Mult t1 t2 t3 t4 t5
4 0.164 10 20 30 40 50
16 0.581 5 10 5 10 5
42 0.008 16 17 18 19 20
91 0.328 20 20 20 20 20
103 0.108 103 42 56 84 61",h=T)
df[,c(paste0(colnames(df[,grepl("^t.*",colnames(df),perl = T)]),"bis"))]=df[,grepl("^t.*",colnames(df),perl = T)]*df$Mult
df[,grepl("^t.*",colnames(df),perl = T)]
サブセットdf
を列のみが「T」
df[,c(paste0(colnames(df[,grepl("^t.*",colnames(df),perl = T)]),"bis"))]
で始まるしているには、前のサブセットのcolnames()
を取り、「ビス」とpaste0()
またはいずれかを使用してそれらを連結します変更を示す文字列。これにより、乗算の結果で満たされる新しい列が作成されます。
> df
ID Mult t1 t2 t3 t4 t5 t1bis t2bis t3bis t4bis t5bis
1 4 0.164 10 20 30 40 50 1.640 3.280 4.920 6.560 8.200
2 16 0.581 5 10 5 10 5 2.905 5.810 2.905 5.810 2.905
3 42 0.008 16 17 18 19 20 0.128 0.136 0.144 0.152 0.160
4 91 0.328 20 20 20 20 20 6.560 6.560 6.560 6.560 6.560
5 103 0.108 103 42 56 84 61 11.124 4.536 6.048 9.072 6.588
ようこそ。あなたが相談した他の情報源を列挙し、あなたの状況がどのように異なっているかを説明することは、常に良い考えです(そうでなければ、あなたの質問に繰り返しとしてフラグが立てられるかもしれません)。あなたは[この記事](http://stackoverflow.com/q/12673891/1152809)を見ましたか?また、Rの質問に簡単に他の人があなたを助けられるようにする方法については、[this post](http://stackoverflow.com/q/5963269/1152809)を参照してください。これは 'dput'を使ってデータを出力するように指定しています。その結果、私たちのローカルRで簡単に実行し、あなたが見ているものを見ることができます。また、何か助けを仰いでupvoteすることを忘れないでください、そして答えを正しいものとしてマークしてください。 –