从CSV文件重塑R中的数据

时间:2017-02-26 00:33:50

标签: r reshape import-from-csv

我使用以下格式的CSV文件中的数据:

Timestamp  variable value
03/10/2014 var1  10
04/10/2014 var1  11
01/10/2014 var2  5
02/10/2014 var2  16
03/10/2014 var2  17
04/10/2014 var2  18

我希望以下列格式获取数据:

Timestamp var1 var2
01/10/2014  NaN  5
02/10/2014  NaN  16
03/10/2014  10   17
04/10/2014  11   18

我想在R中重塑这些数据。请提出任何建议。

1 个答案:

答案 0 :(得分:0)

在R中你可以使用dcast

library(reshape2)
df <- rbind.data.frame(c("01/10/2014", "var1", 10),
        c("02/10/2014", "var1", 11),
        c("01/10/2014", "var2", 5),
        c("02/10/2014", "var2", 16))
colnames(df) <- c("Timestamp", "variable", "value")
dcast(df, Timestamp~variable)
#    Timestamp var1 var2
# 1 01/10/2014   10    5
# 2 02/10/2014   11   16

由于您是初学者用户,我还建议您查看融合功能以执行相反的操作

df2 <- dcast(df, Timestamp~variable)
melt(df2, id.vars="Timestamp")
#    Timestamp variable value
# 1 01/10/2014     var1    10
# 2 02/10/2014     var1    11
# 3 01/10/2014     var2     5
# 4 02/10/2014     var2    16