如果有人可以帮助我,将不胜感激:
我有一个这样的数据集:
1 0
2 0
3 0
4 1
1 0
2 0
3 0
4 1
1 0
2 0
3 0
4 1
1 0
2 0
3 0
4 1
1 0
2 0
3 0
4 1
1 0
2 1
3 0
4 0
我可以使用任何方式进行循环和打印以使我的数据像这样吗?
1 0
2 0
3 0
4 1
[*,*,1]: 1 2 :=
1 0
2 0
3 0
4 1
[*,*,2]: 1 2 :=
1 0
2 0
3 0
4 1
[*,*,3]: 1 2 :=
1 0
2 0
3 0
4 1
[*,*,4]: 1 2 :=
1 0
2 0
3 0
4 1
[*,*,5]: 1 2 :=
1 0
2 1
3 0
4 0
我用手做了200排,现在我实在无法忍受!
答案 0 :(得分:0)
我们可以根据通过将第一列(其值为1)的累积总和放入data.frames split
中而创建的分组来使用list
lst1 <- split(df1, cumsum(df1$col1 == 1))
现在,我们可以遍历list
和print
for(i in seq_along(lst1)) {
cat(paste0("[*,*,", i, "]: 1 2 :="), "\n")
cat(do.call(paste, c(lst1[[i]], sep="\t", collapse="\n")), sep="\n")
}
#[*,*,1]: 1 2 :=
#1 0
#2 0
#3 0
#4 1
#[*,*,2]: 1 2 :=
#1 0
#2 0
#3 0
#4 1
#[*,*,3]: 1 2 :=
#1 0
#2 0
#3 0
#4 1
#[*,*,4]: 1 2 :=
#1 0
#2 0
#3 0
#4 1
#[*,*,5]: 1 2 :=
#1 0
#2 0
#3 0
#4 1
#[*,*,6]: 1 2 :=
#1 0
#2 1
#3 0
#4 0
df1 <- structure(list(col1 = c(1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L,
3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L, 1L, 2L, 3L, 4L), col2 = c(0L,
0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L,
0L, 0L, 1L, 0L, 1L, 0L, 0L)), class = "data.frame", row.names = c(NA,
-24L))