以csv格式排序,求和并保存

时间:2016-01-21 19:47:51

标签: r

我有一个包含数据的csv文件;类型和面积。我想基于类型对数据进行排序,然后添加区域,之后我想以csv / excel格式保存该文件。 数据如下所示;

TYPE    Area
P   38304
P   14729
P   39342
R   652
R   497
C   4506
U   1705
U   1513
U   1514
U   1531
U   1580
U   1581
U   113509
U   13198
U   114730
U   12402
C   3252

我想将数据制作如下

P   R   U   C
38304   652 1705    4506
14729   497 1513    3252
39342       1514    
            1531    
            1580    
            1581    
            113509  
            13198   
            114730  
            12402

然后按列进行总和

P   R   U   C
92375   1149    263263  7758
到目前为止,我有以下代码;

  data=read.table("Book1.csv", header=TRUE, sep=',')
    x=(sapply(split(data$Area, data$TYPE), sort))
    write.csv(x, file="test.csv")

我首先尝试写csv,但由于行不相等而无法编写csv。我被卡住了,我知道可以先添加然后写最终输出,但我无法进行编码。 谢谢里拉

1 个答案:

答案 0 :(得分:0)

我希望这有效!

library(plyr)
newdata <- data[order(Type, Area),] 
data.new <- ddply(newdata, c("TYPE"), summarise, Area = sum("Area")) 
t.data   <- t(data.new)
write.csv(x, file="test.csv")