我有以下两个数据集:
Dataset1 Dataset2
Kingdom P1 P2 P5 P6 P7 T4 T6 P1 P2 P5 P6 P7 T4 T6
Virus 5 4 4 5 5 3 3 3 4 4 2 1 1 6
Bacteria 3 3 4 6 1 2 1
Animal 1 2 3 4 4 1 5
etc.
Run Code Online (Sandbox Code Playgroud)
我需要将dataset1的每一列乘以dataset2中的相应值.例如,dataset2中P1的值需要将dataset1中P1列的每一行乘以3.我在这里展示的只是我的数据的摘录.数据集1有数千个输入.
如果这两个数据集相乘,输出将如下所示:
Kingdom P1 P2 P5 P6 P7 T4 T6
Virus 15 16 16 10 5 3 18
Bacteria 9 12 16 12 1 2 6
Animal 3 8 12 8 4 1 30
etc.
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题的任何想法将不胜感激!谢谢.
我们可以使用mapply从乘以每一列Dataset1和Dataset2.Dataset2是最终的输出.
Dataset3 <- Dataset1
Dataset3[, -1]<- mapply(`*`, Dataset1[, -1], Dataset2)
Dataset3
# Kingdom P1 P2 P5 P6 P7 T4 T6
# 1 Virus 15 16 16 10 5 3 18
# 2 Bacteria 9 12 16 12 1 2 6
# 3 Animal 3 8 12 8 4 1 30
Run Code Online (Sandbox Code Playgroud)
数据
Dataset1 <- read.table(text = "Kingdom P1 P2 P5 P6 P7 T4 T6
Virus 5 4 4 5 5 3 3
Bacteria 3 3 4 6 1 2 1
Animal 1 2 3 4 4 1 5",
header = TRUE, stringsAsFactors = FALSE)
Dataset2 <- read.table(text = "P1 P2 P5 P6 P7 T4 T6
3 4 4 2 1 1 6",
header = TRUE)
Run Code Online (Sandbox Code Playgroud)