我是R的新手,正在研究以下数据集:
我有一个名为zippopinc的文件
head(zippopinc)
Year Zip Total_Population Median_Income City State
1 1 2017 ZCTA5 00601 17599 11757 Adjuntas PR
2 2 2017 ZCTA5 00602 39209 16190 Aguada PR
3 3 2017 ZCTA5 00603 50135 16645 Aguadilla PR
4 4 2017 ZCTA5 00606 6304 13387 Maricao PR
5 5 2017 ZCTA5 00610 27590 18741 Anasco PR
6 6 2017 ZCTA5 00612 62566 17744 Arecibo PR
Poptoincomeratio
1.4968955
2.4218036
3.0120156
0.4709046
1.4721733
3.5260370
我的目标是找出哪个邮政编码的Poptoincomeratio最高:
我的输入:
max(sapply(zippopinc$Poptoincomeratio, max))
输出:
4.454182
所以我尝试了
zippopinc$Zip[demograph_ratio$Poptoincomeratio == 4.454182]
但这给了我
factor(0)
30956 Levels
> as.factor(zippopinc)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
我该如何解决?
答案 0 :(得分:0)
如果您想查找哪个邮政编码具有最高的Poptoincomeratio,请执行以下操作:
zippopinc$Zip[which.max(zippopinc$Poptoincomeratio)]
使用当前方法无法产生任何输出的原因是因为比较浮点值存在一些限制。在此处阅读更多内容
即使是共享示例,我们也可以看到3.5260370是Poptoincomeratio
列中的最大值,但是当我们比较所得到的值时
zippopinc$Poptoincomeratio == 3.5260370
#[1] FALSE FALSE FALSE FALSE FALSE FALSE
但是如果您使用which.max
,它将返回最高的Zip
值
zippopinc$Zip[which.max(zippopinc$Poptoincomeratio)]
#[1] 612