【发布时间】:2015-07-13 22:01:00
【问题描述】:
我有两个数据框 df1 和 df2:
group=c("Group 1", "Group 2", "Group3","Group 1", "Group 2", "Group3")
year=c("2000","2000","2000", "2015", "2015", "2015")
items=c("12", "10", "15", "5", "10", "7")
df1=data.frame(group, year, items)
year=c("2000", "2015")
items=c("37", "22")
df2=data.frame(year,items)
df1 包含每年的项目数并按组分隔,df2 包含每年的项目总数
我正在尝试创建一个 for 循环来计算每个组类型的项目比例。 我正在尝试做类似的事情:
df1$Prop="" #create empty column called Prop in df1
for(i in 1:nrow(df1)){
df1$Prop[i]=df1$items/df2$items[df2$year==df1$year[i]]
}
循环应该获取每种类型项目的比例(通过从 df1 获取值并除以 df2 中的总数)并将其列在新列中,但此代码不起作用。
【问题讨论】:
-
只是一个问题:为什么
"在items向量中?值实际上是数字,但使用您的语法,它们会转换为因子。