簡體   English   中英

R將數據分成組

[英]R divide data into groups

我有一個數據框,我想將一個列值拆分為n組。 所以,我有一個大約10k記錄的列data$dist ,其中最大值是23180,最小值是8951.我想將這些值分成10組相等的范圍,即(23180-8951)/ 10 = 1423。表示8951和10374之間的所有值都分為1組。 等等。 我該怎么做?

您可以使用cutsplit ,如下面的玩具示例:

set.seed(2015)
d <- data.frame(i=1:20,z=runif(20))
#     i          z
# 1   1 0.06111892
# 2   2 0.83915986
# 3   3 0.29861322
# 4   4 0.03143242
# 5   5 0.13857171
# 6   6 0.35318471
# 7   7 0.49995552
# 8   8 0.07707116
# 9   9 0.65134483
# 10 10 0.51172371
# 11 11 0.70285557
# 12 12 0.39172125
# 13 13 0.03306277
# 14 14 0.40940319
# 15 15 0.74234713
# 16 16 0.88301877
# 17 17 0.26623321
# 18 18 0.07427093
# 19 19 0.81368426
# 20 20 0.38194719

split(d,cut(d$i,seq(0,20,length.out=5)))
# $`(0,5]`
#   i          z
# 1 1 0.06111892
# 2 2 0.83915986
# 3 3 0.29861322
# 4 4 0.03143242
# 5 5 0.13857171
# 
# $`(5,10]`
#     i          z
# 6   6 0.35318471
# 7   7 0.49995552
# 8   8 0.07707116
# 9   9 0.65134483
# 10 10 0.51172371
# 
# $`(10,15]`
#     i          z
# 11 11 0.70285557
# 12 12 0.39172125
# 13 13 0.03306277
# 14 14 0.40940319
# 15 15 0.74234713
# 
# $`(15,20]`
#     i          z
# 16 16 0.88301877
# 17 17 0.26623321
# 18 18 0.07427093
# 19 19 0.81368426
# 20 20 0.38194719

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM