2013-07-18 37 views
0

我在同一行中有多个相同的名称,并具有与其相对应的不同日期和值。我想合并这些行并使用日期和值创建列。任何想法如何在R中做到这一点? (1M性学习的R)将行名转换为R中的一列并导出到txt文件

ID Date Value 
62 17/03/2008 1 
62 29/09/2008 9 
62 01/01/2009 0 
66 01/04/2009 6 
66 29/06/2009 3 
66 30/09/2009 5 
75 01/01/2010 6 
75 01/04/2010 0 
91 01/07/2010 8 
91 28/09/2010 0 

我想将其转换象下面

62  62 66  66 75   75 
17/03/2008 1 01/04/2009 6 01/01/2010 6 
29/09/2008 9 29/06/2009 3 01/04/2010 0 
01/01/2009 0 30/09/2009 5 

一旦做到这一点,我想要写在用于组的输出文件(例如62,66,75) txt格式,其中txt文件的名称为带有前缀'a'的组名(例如62a.txt,66a.txt,75a.txt)。我有很长的数据集,因此必须完成某种循环。

+1

你可以格式化你的问题是更具可读性? –

回答

1

你想要什么样的输出?您是否想根据ID来split您的数据?这将返回一个列表,每个ID都有一个条目。 这里是data.frame,可重现的例子。同样,你也应该提供所需输出的结构。

df <- structure(list(ID = c(62L, 62L, 62L, 66L, 66L, 66L, 75L, 75L, 
     91L, 91L), Date = structure(c(6L, 9L, 1L, 3L, 8L, 10L, 2L, 4L, 
     5L, 7L), .Label = c("01/01/2009", "01/01/2010", "01/04/2009", 
     "01/04/2010", "01/07/2010", "17/03/2008", "28/09/2010", "29/06/2009", 
     "29/09/2008", "30/09/2009"), class = "factor"), Value = c(1L, 
     9L, 0L, 6L, 3L, 5L, 6L, 0L, 8L, 0L)), .Names = c("ID", "Date", 
     "Value"), class = "data.frame", row.names = c(NA, -10L)) 

这就是我想你想做的事:

split(df, df[,"ID"]) 
split(df[,c("Date", "Value")], df[,"ID"]) 
+0

哇分裂功能的作品。我有更多的操作来执行,我已经在我的问题中更新了。看看你能否帮忙。谢谢 – user2594405

+0

问题解决与分裂和sapply。非常感谢你 – user2594405

相关问题