全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
1539 4
2020-11-18
library(tidyverse)
test <- c(1435.8749, 799.7841, 1353.5197, 1514.2202, 1624.0395, 1786.2264, 1067.7966, 1498.6395, 2244.8378, 1867.004, 2329.647, 2060.6061,
2207.2289, 1646.9766, 2376.7032, 1880.1464, 1203.0099, 1658.1572,
1733.6369, 1775.3562, 1669.4304, 1538.1229, 1605.4569, 2270.2265,
2291.0798, 2300.6068, 1960.6273, 1564.5674, 2173.0856, 1595.173,
1128.7062, 2285.4715, 2472.4373, 1556.192, 1951.3942, 1847.9082,
754.9882, 1849.9162, 1832.5876, 1729.2324, 3519.9994, 1672.043,
1816.5939, 1861.3281, 1595.8138, 1400.9604, 1530.2045, 2207.5038,
2618.7138, 1718.4072)

base::cut(test,breaks = 2) %>% table()
得到的结果并不是二等分的

甚至我生成随机数也无法等分
cut(rnorm(533),breaks = 2) %>% table()

只有在我生成的序列的时候可以二等分
cut(1:100,breaks = 2) %>% table()

这是什么问题吗?求助!








二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2020-11-18 12:52:16
breaks=2的二等分是区间的二等分,不是数目的二等分
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-18 13:13:59
maths_hjxk 发表于 2020-11-18 12:52
breaks=2的二等分是区间的二等分,不是数目的二等分
多谢回复!!但是我没有理解什么是区间的二等分?例如我想对这串数字按中位数划分并赋予label,用cut来做,不就是应该用 cut(test, breaks = 2,labels = c("L","H")) 吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-18 13:35:36
maths_hjxk 发表于 2020-11-18 12:52
breaks=2的二等分是区间的二等分,不是数目的二等分
我用cut(c(1:20,500),2) 看了一下,发现它是从250中间划开,我就理解你的意思了,非常感谢!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2020-11-18 19:43:03
zerofung 发表于 2020-11-18 13:35
我用cut(c(1:20,500),2) 看了一下,发现它是从250中间划开,我就理解你的意思了,非常感谢!!
是的,它取的是一组数的最小最大值的平均为分割点了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群