我有一个这样的数据集:
Users Age
1 2
2 7
3 10
4 3
5 8
6 20
如何将此数据集拆分为 3 个数据集,其中第一个数据集包含年龄在 0-5 岁之间的所有用户,第二个数据集包含 6-10 岁,第三个数据集包含 11-15 岁?
你可以结合split
with cut
只需一行代码即可完成此操作,避免需要针对不同数据范围使用一堆不同表达式进行子集化:
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]]
, and l[[3]]
或者更详细的:
l$`[0,5]`
l$`(5,10]`
l$`(10, 15]`
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)