小编Cey*_*yda的帖子

将数据帧拆分为 5 个部分并将额外的行放在末尾

例如我有一个这样的数据框:

df <- data.frame(x = 1:104, y = runif(104))
Run Code Online (Sandbox Code Playgroud)

我想把它分成 5 部分,末尾的额外 4 行位于df列表的最后一部分。

我已经尝试过这些代码,但它们要么将最后 4 行放入前 4 个部分,z要么将它们放入列表的第一部分。

z <- split(df, rep(1:5, length.out = nrow(df), each = ceiling(nrow(df)/5)))
z <- split(df, rep(1:5, length.out = nrow(df), each = floor(nrow(df)/5)))
Run Code Online (Sandbox Code Playgroud)

我想要的是df分成 5 部分,如果行数df不能被 5 整除,我想把这些额外的行放在最后一部分z

感谢并感谢您的回复。

r dplyr

3
推荐指数
1
解决办法
95
查看次数

将数据帧拆分为 5 个部分,并对每个部分使用描述函数

我有一个这样的数据框:

df <- data.frame(x = 1:100, y = runif(100))
Run Code Online (Sandbox Code Playgroud)

我把它分成5部分:

z <- split(df, rep(1:5, length.out = nrow(df), each = ceiling(nrow(df)/5)))
Run Code Online (Sandbox Code Playgroud)

现在我试图找到每个部分的描述性统计数据,z但我收到了这个错误:(我实际上对df$y在这 5 个部分中找到列的描述性统计数据很感兴趣。)

psych::describe(z,na.rm = TRUE)

Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) : 
  is.atomic(x) is not TRUE
Ek olarak: Warning message:
In mean.default(x, na.rm = na.rm) :
  argument is not numeric or logical: returning NA
Run Code Online (Sandbox Code Playgroud)

我正在尝试找到这样的东西:(可能看起来不像z[1]$y,但假设这就是我想要找到的东西)

           vars     n   mean     sd median trimmed    mad   min    max  range skew kurtosis …
Run Code Online (Sandbox Code Playgroud)

r lapply dplyr purrr

2
推荐指数
1
解决办法
54
查看次数

标签 统计

dplyr ×2

r ×2

lapply ×1

purrr ×1