【发布时间】:2020-11-29 02:06:24
【问题描述】:
我有以下两个例子data.frames.
set.seed(12345)
df1 = data.frame(a=c(rep("a",8), rep("b",5), rep("c",7), rep("d",10)),
b=rnorm(30, 6, 2),
c=rnorm(30, 12, 3.5),
d=rnorm(30, 8, 3)
)
df2 = data.frame(p=c("b", "c", "d"),
q=c(1.43, 2.14, -2.03)
)
我想使用df1 中的基础数据和使用df2 中的乘法因子的加权平均值创建一个新的data.frame。新输出 df3 将与 df1 相同,但新列添加了值:(“b”乘以 1.43 + “c”乘以 2.14,“d”乘以 -2.03)的行平均值,所以结果是df3:
df3 = data.frame(a=c(rep("a",8), rep("b",5), rep("c",7), rep("d",10)),
b=rnorm(30, 6, 2),
c=rnorm(30, 12, 3.5),
d=rnorm(30, 8, 3),
new=c("24.8645275","44.67937096","29.68621196","19.26714231",
"25.23142628","27.65882406","11.98590475","-4.92298683",
"27.29998443","23.47463009","25.80746763","10.16714534",
"17.52916576","12.33418399","13.73084634","25.55675733",
"-0.13100614","26.26381852","22.69296138","2.86696252",
"12.27184531","30.41901753","18.43221894","1.12637556",
"2.51020245","13.89381723","17.7266222","27.83995036",
"32.569782","-5.04627832")
)
请问我该怎么做?
【问题讨论】:
-
您想要行平均值还是加权和?您在
df3中显示的输出是加权和 -
是的,谢谢你的提问 :)。好吧,加权平均。
标签: r dataframe multiple-columns multiplication weighted-average