【发布时间】:2013-10-29 20:53:13
【问题描述】:
我正在尝试一些应该很简单的东西,非常欢迎任何关于正在发生的事情的提示。
我有一个大型数据框,其中包含来自某些城市的国家/地区进口数据。对于某些国家/地区,我有 2 个条目。我想汇总每个城市的进口量,并为每个国家/地区设置一个独特的行。我正在使用aggregate 函数。例如(我包含了数据框的一小部分):
municipalities<-c("country",1100056, 1100106,1100205,1100304,1200104,1200252)
c1<-c("Afghanistan",2,34,23.4,5,0,0)
c2<-c("Afghanistan",0,20,11.1,5.4,2,0)
c3<-c("Albania",12,120,11.4,5.1,12,10)
c4<-c("Albania",0,40,61.1,65.4,652,2)
df<-as.data.frame(rbind(municipalities,c1,c2,c3,c4))
基本上我在尝试
df<-df[-1,]
aggregate(df[,2:7],list(df[,1]),sum)
但我收到一条消息:
Error in Summary.factor(c(4L, 1L), na.rm = FALSE) :
sum not meaningful for factors
我试图强制 df 为数字,将字符声明为字符等,但似乎没有任何帮助。
【问题讨论】:
-
您是如何创建实际的 data.frame 的?您在示例中给出的方式是创建无法求和的
factors。考虑从您的实际数据中提供样本。您也许可以将dput(head(df))的输出粘贴到问题中。