我正在尝试以一种不常用的形式存储两个数值数组,例如c('[1;2;3]','[4;5;6]','[24;25;26]')
我需要它们在单个单元格中的 CSV 中,就像这里一样
到目前为止我试过这个:
DF
ID time Y
1 3 23
1 4 24
1 5 20
2 2 12
2 8 15
3 2 19
3 3 23
3 5 21
3 6 32
timeList = list()
yList = list()
for (i in 1:3) {
timeList[i] = DF$time
yList[i] = DF$Y
}
longTimeList = list(timeList)
longYList = list(yList)
DF <- data.frame(ID = c(1,2,3),
P1 = longTimeList,
P2 = longYList)
所以范例 DF 会读
newDF <- data.frame(ID = c(1,2,3),
P1 = c('[3;4;5]','[2;8]','[2;3;5;6]'),
P2 = c('[23,24,20]','[12;15]','[19;23;21;32]'))
应将其存储在 CSV 文件中以提供如上所示的内容。
最佳答案
我相信aggregate
可以帮到你
> aggregate(. ~ ID, DF, function(x) sprintf("[%s]", paste0(x, collapse = ";")))
ID time Y
1 1 [3;4;5] [23;24;20]
2 2 [2;8] [12;15]
3 3 [2;3;5;6] [19;23;21;32]
关于r - 将数字数组转换为列表并保存在 R 中的 CSV 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67886785/