在R中处理长格式数据
我以longformat创建了一个数据框架,其中包含5个变量(公司名称、关键项目、原产国、年份和值),我想做的是创建一个表,其中包含每年一个关键项目的值。以下是我迄今为止所做的工作:在R中处理长格式数据,r,data.table,plyr,mean,R,Data.table,Plyr,Mean,我以longformat创建了一个数据框架,其中包含5个变量(公司名称、关键项目、原产国、年份和值),我想做的是创建一个表,其中包含每年一个关键项目的值。以下是我迄今为止所做的工作: for(i in dat$Year) { dat[dat$KeyItem == "Total Assets" & dat$Year == i, ] FUN1 <- mean(dat$Value, na.rm = TRUE) } for(i以dat$Year为单位){ dat[dat$Ke
for(i in dat$Year) {
dat[dat$KeyItem == "Total Assets" & dat$Year == i, ]
FUN1 <- mean(dat$Value, na.rm = TRUE)
}
for(i以dat$Year为单位){
dat[dat$KeyItem==“总资产”&dat$Year==i,]
FUN1由于您不共享数据,因此很难准确判断您想要什么。您可能希望使用plyr
软件包中的ddply
:
mean_values = ddply(dat, .(key_item, year), summarise, mn_value = mean(Value))
如果您的数据集变得非常大,您可能会选择自学data.table
软件包,在这种情况下,该软件包速度非常快。对于中等大小的数据集,ddply
也可能较慢,但速度足够快。请让您的示例重现。听起来您需要一个类似aggregate()的函数
,但正如@PaulHiemstra提到的,如果没有至少一些样本数据和您的预期输出,很难说。谢谢!这正是我想要的:)如果这回答了您的问题,通常会单击绿色勾号和/或按向上投票按钮。