我有包含以下列的数据(e-32 obs.of 3个变量)
Month Years Seats
10 2011 4477
11 2011 12210
12 2011 12617
1 2012 12617
...and so on, up to
5 2014 25234
包含
的另一个数据(f-101个隐含的3个变量)Month Years Seats
1 2006 27787
up to
5 2014 29017
如果e和f的年份和月份相同,我的目的是将e中的座位数除以f中的座位数。我的有效结果是获得一个显示百分比结果
的表格Month Years Change in Seats
10 2011 14.72%
11 2011 42.28%
我尝试过 -
运行for循环,但没有帮助
g<-{
for(i in 2006:2014)
{
for (j in 1:12)
{
if(i==e[,2] && i==f[,2] && j==e[,1] && j==f[,1])
{
(e[,3]/f[,3])
}
else
{
'NA'
}
}
}
}
g
对此的任何帮助都将受到高度赞赏。几天前刚开始在R工作。如果您想了解更多信息,请与我们联系。
答案 0 :(得分:0)
我认为合并将是您最好的选择。
df1 <- data.frame(month = 1:12, year = rep(2011,12), seats = round(runif(12,10000,20000)))
df2 <- data.frame(month = 2:10, year = rep(2011,9), seats = round(runif(9,10000,20000)))
df3 <- merge(df1, df2, by=c("month", "year"))
df3$change <- df3$seats.x/df3$seats.y
如果您需要将更改显示为百分比而非小数,请检查How to format a number as percentage in R?