【发布时间】:2016-03-13 21:15:00
【问题描述】:
通过可重现的示例,假设您有以下 R 数据框:
set.seed(100)
df <- data.frame(Name=letters[1:5], Apples=sample(1:10, 5), Oranges=sample(1:10, 5), Bananas=sample(1:10, 5), Dates=sample(1:10, 5))
并且您想对数据框应用以下权重:
Weights <- c(Apples = "3", Oranges = "2", Bananas = "1")
生成一个新的总分列。因此,例如第一行(“a”行)将具有以下分数:
(3*4 + 2*5 + 1*7) = 29
和b行:
(3*3 + 2*8 + 1*8) = 33
我编写什么代码来自动执行此操作?
请注意,权重可能与数据框中的列的顺序不同,也不一定对数据框中的每个数字列都有权重(因此在此示例中,“日期”没有权重) .
【问题讨论】: