r - R:选择数据框的每 n 行并将每 n 行放入列表的元素中
问题描述
就像标题所建议的那样,我想取一个数据帧的每 n 行并将每个块放入一个列表中。
我有一些路径级别的数据堆叠在数据框中,并希望将每个路径分成列表的元素。
我拥有的数据:
df3 <- as.data.frame(matrix(c(1,1,1,2,2,2,3,3,3,1,2,3,1,2,3,1,2,3,5,6,7,4,6,5,6,7,6), nrow=9, ncol=3))
names(df3) <- c("path","month", "data")
print(df3)
path month data
1 1 1 5
2 1 2 6
3 1 3 7
4 2 1 4
5 2 2 6
6 2 3 5
7 3 1 6
8 3 2 7
9 3 3 6
期望的结果:
myList <- list()
myList[[1]]<- as.data.frame(matrix(c(1,1,1,1,2,3,5,6,7), nrow=3, ncol=3))
myList[[2]]<- as.data.frame(matrix(c(2,2,2,1,2,3,4,6,5), nrow=3, ncol=3))
myList[[3]]<- as.data.frame(matrix(c(3,3,3,1,2,3,6,7,6), nrow=3, ncol=3))
print(myList)
> print(myList)
[[1]]
V1 V2 V3
1 1 1 5
2 1 2 6
3 1 3 7
[[2]]
V1 V2 V3
1 2 1 4
2 2 2 6
3 2 3 5
[[3]]
V1 V2 V3
1 3 1 6
2 3 2 7
3 3 3 6
解决方案
可以使用
lapply(seq(1,9,3),function(x) df3[x:(x+2),])
[[1]]
V1 V2
1 1 5
2 1 6
3 1 7
[[2]]
V1 V2
4 2 4
5 2 6
6 2 5
[[3]]
V1 V2
7 3 6
8 3 7
9 3 6
Somhow,你显示的数据和所包含的数据df3
是不一样的。不过,这对两者都有效。
推荐阅读
- typescript - 'types' 只能在 .ts 文件中使用
- reactjs - 使用 JAWS 时 IE 中的 Role="alert"
- java - Android - 在 ExpandableListView 的每一行中的项目上设置一个侦听器
- javascript - 如何从数据表的一行中抓取一个元素?
- vba - 使用 Find VBA 宏循环到下一个范围
- java - 问题是针对 eclipse javaEE 版本的。该项目未构建,因为其构建路径不完整
- python - 当程序从不同的目录运行时,需要知道干净的方式来进行导入工作
- sharepoint-online - Add-PnPApp :请求消息已发送。无法多次发送相同的请求消息
- python - 无法使用 Travic CI 从我的 GitHub 存储库运行我的脚本:导入错误
- java - 谷歌自定义图片搜索返回不良图片