我需要将data.frame中的每一列乘以第一列(类因子)中的值。

这是我的data.frame

sample classfactor 01.BA.V 01.BA.VG 01.BO.VG 01.PR.O 01.TO.VG 02.BA.O 02.BA.V
AB 0.730 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0 0.00000000
AC 0.730 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0 0.00000000
AB 0.002 0.000000000 0.000000000 0.000749929 0.000000000 0.000000000 0 0.00000000
CC 0.730 0.081599145 0.093453018 0.031247022 0.015987076 0.036212483 0 0.02537884
BB 0.730 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0 0.00000000
AA 0.730 0.001533075 0.000108666 0.000000000 0.000364526 0.000241417 0 0.00006340


它具有146行和155列。

我不知道该怎么办。有什么建议?

最佳答案

如果我没记错的话,你可以做

df[-(1:2)] <- df[["classfactor"]] * df[-(1:2)]


其中df是您的数据帧,第一列是sampleclassfactor实际上是第二列)。

07-24 09:50