gpt4 book ai didi

r - 如何根据R中列值的范围拆分数据帧?

转载 作者:行者123 更新时间:2023-12-04 12:14:07 25 4
gpt4 key购买 nike

我有一个这样的数据集:

Users   Age
1 2
2 7
3 10
4 3
5 8
6 20

如何将该数据集分成3个数据集,其中第一个由年龄在0-5之间的所有用户组成,第二个为6-10,第三个为11-15?

最佳答案

您可以将splitcut结合使用,以在一行代码中完成此操作,从而避免了需要为不同的数据范围使用一堆不同的表达式作为子集的情况:

split(dat, cut(dat$Age, c(0, 5, 10, 15), include.lowest=TRUE))
# $`[0,5]`
# Users Age
# 1 1 2
# 4 4 3
#
# $`(5,10]`
# Users Age
# 2 2 7
# 3 3 10
# 5 5 8
#
# $`(10,15]`
# [1] Users Age
# <0 rows> (or 0-length row.names)
cut根据指定的断点拆分数据,而 split根据提供的类别拆分数据框。如果将计算结果存储在名为 l的列表中,则可以使用 l[[1]]l[[2]]l[[3]]或更小的冗长的数据访问较小的数据帧:
l$`[0,5]`
l$`(5,10]`
l$`(10, 15]`

关于r - 如何根据R中列值的范围拆分数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707936/

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