【发布时间】:2019-12-08 12:29:30
【问题描述】:
我知道这对 R 用户来说相当简单,但很难完成这个简单的任务:
我有这个数据框:
数据
set.seed(123)
df <- data.frame(ID_series=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18),
year=c(2010,2011,2012,2010,2011,2012,2010,2011,2012,2010,2011,2012,
2010,2011,2012,2010,2011,2012),
IDPlot=c(1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2),
value=runif(18, 0.0, 1.0))
我需要:
- 通过IDPlot分割数据帧
- 重新排列,使年份在行中,ID_series 在列中
- 在 csv 中保存由 IDPlot 命名的单独数据帧。
感谢您的建议! 迈克尔
【问题讨论】:
-
请提供您的预期输出。你试过什么吗?使用
data.table::dcast或tidyr::spread可能很简单。 -
...输出应该是 IDPlots 的单独矩阵 [year,ID_series] 并存储在 IDPlots 命名的单独 csv 文件中......这对您来说足够信息吗?非常感谢您的努力...
-
对不起,这还不够清楚。你的意思是这样的吗?
structure(list(year = c(2010, 2011, 2012), `1` = c(1, 1, 1), `2` = c(1, 1, 1), `3` = c(1, 1, 1)), class = "data.frame", row.names = c(NA, -3L))还有,你试过什么? -
这能回答你的问题吗? Split dataframe into multiple output files
-
@MDEWITT,我认为您忽略了问题的重塑部分(尽管拆分/写入可能是正确的)。
标签: r