gpt4 book ai didi

r - 按一列中的因子拆分/子集数据框

转载 作者:行者123 更新时间:2023-12-03 09:19:30 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Split data.frame based on levels of a factor into new data.frames

(2 个回答)


4年前关闭。




我的数据是这样的(例如):

ID  Rate    State
1 24 AL
2 35 MN
3 46 FL
4 34 AL
5 78 MN
6 99 FL

数据:
structure(list(ID = 1:6, Rate = c(24L, 35L, 46L, 34L, 78L, 99L),
State = structure(c(1L, 3L, 2L, 1L, 3L, 2L),
.Label = c("AL","FL", "MN"),
class = "factor")),
.Names = c("ID", "Rate", "State"),
class = "data.frame", row.names = c(NA, -6L))

我想按州拆分数据,我想获得 3 个数据集,如下所示:
data set 1
ID Rate State
1 24 AL
4 34 AL
data set 2
ID Rate State
2 35 MN
5 78 MN
data set 3
ID Rate State
3 46 FL
6 99 FL

我应该使用什么功能?

我正在考虑拆分或子集功能,但仍然没有任何线索。

最佳答案

我们可以使用 split :

mylist <- split(df, df$State)

mylist
$AL
ID Rate State
1 1 24 AL
4 4 34 AL

$FL
ID Rate State
3 3 46 FL
6 6 99 FL

$MN
ID Rate State
2 2 35 MN
5 5 78 MN

要访问元素编号:
mylist[[1]]

或按名称:
mylist$AL
ID Rate State
1 1 24 AL
4 4 34 AL

?split

Description

split divides the data in the vector x into the groups defined by f. The replacement forms replace values corresponding to such a division. unsplit reverses the effect of split.

关于r - 按一列中的因子拆分/子集数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19327020/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com