我有一个观察dataframe结果118,总共有三列。现在,我想将此数据框分成每个观察two dataframes值59。我尝试了两种不同的方法,但没有一个返回我想要的结果。
我该如何使用dplyrin来做到这一点R?
示例数据框:
Code Count_2020 Count_2021
A 1 2
B 2 4
C 3 6
D 4 8
E 5 10
F 6 12
Run Code Online (Sandbox Code Playgroud)
期望的输出:
DF1
Code Count_2020 Count_2021
A 1 2
B 2 4
C 3 6
Run Code Online (Sandbox Code Playgroud)
DF2
Code Count_2020 Count_2021
D 4 8
E 5 10
F 6 12
Run Code Online (Sandbox Code Playgroud)
第一种方法
基于这个答案
library(tidyverse)
df= df %>% group_split(Code)
Run Code Online (Sandbox Code Playgroud)
现在,这将返回 的列表118,因此它是一个观察值列表118,其中每个观察值list都有3列。
第二种方法
基于这个答案
library(tidyverse)
df= df %>% sample_n(size = 59) %>%
split(f = as.factor(.$Code))
Run Code Online (Sandbox Code Playgroud)
现在这将返回一个59.
我们可以用来gl创建分组列group_split
library(dplyr)
df1 %>%
group_split(grp = as.integer(gl(n(), 59, n())), .keep = FALSE)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2539 次 |
| 最近记录: |