【发布时间】:2021-12-11 14:42:41
【问题描述】:
第一个数据帧df1 是,
df1 = data.frame('gen' = c('a', 'b', 'c', 'd'), 'mm' = c(10, 20, 30, 40), 'nn' = c(50,60,70,80))
gen mm nn
1 a 10 50
2 b 20 60
3 c 30 70
4 d 40 80
第二个数据帧df2 是,
df2 = data.frame('gen' = c('x', 'y'), 'mm' = c(10,20), 'nn' = c(20,30))
gen mm nn
1 x 10 20
2 y 20 30
我想计算df1 占所有df2 值的百分比。
异常输出,
gen x.1 y.1 x.2 y.2
<chr> <dbl> <dbl> <dbl> <dbl>
1 a 0 -50 150 66.67
2 b 100 0 200 100.00
3 c 200 50 250 133.33
4 d 300 100 300 167.67
例如,
一般公式
(df1-df2)/df2*100
考虑a
(10-10)/10*100 = 0 (x.1)
(10-20)/20*100 = -50 (y.1)
(50-20)/20*100 = 150 (x.2)
(50-30)/30*100 = 66.67 (y.2)
等等……
谢谢...
【问题讨论】:
-
两个表都有 10、20、50,所以当您的公式引用哪个表的哪些元素时,我并不清楚。你能解释更多吗?
-
添加了通用公式
标签: r dplyr data-manipulation