Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R中的state.division索引_R_Indexing_State - Fatal编程技术网

R中的state.division索引

R中的state.division索引,r,indexing,state,R,Indexing,State,我被要求使用state.x77数据集,查找state.division定义的每个部门的最低收入,然后使用state.name查找位于新英格兰的具有最低收入的州的名称。我得到了一些奇怪的答案。有人知道我做错了什么吗 x <- tapply(state.x77$Income, state.division, min) x New England Middle Atlantic South Atlantic East South Central 3694

我被要求使用state.x77数据集,查找state.division定义的每个部门的最低收入,然后使用state.name查找位于新英格兰的具有最低收入的州的名称。我得到了一些奇怪的答案。有人知道我做错了什么吗

x <- tapply(state.x77$Income, state.division, min)
x
New England    Middle Atlantic     South Atlantic East South Central 
          3694               4449               3617               3098 
West South Central East North Central West North Central           Mountain 
          3378               4458               4167               3601 
       Pacific 
          4660 
x1 <- tapply(state.x77$Income, state.name[state.division], min)
x1
Alabama      Alaska     Arizona    Arkansas  California    Colorado 
   3694        4449        3617        3098        3378        4458 
Connecticut    Delaware     Florida 
   4167        3601        4660

x我个人倾向于直接选择
dplyr
,您可以使用

library(dplyr)
result <- state.x77 %>% 
    group_by(state.division) %>%
    filter(Income == min(Income)) 
如果只需要一个最小值行

如果只想使用基本软件包,可以尝试将
ave()
min
一起使用:

state.x77[state.x77$Distance == ave(state.x77$Income, state.x77$state.division, FUN = min), ]

这是你的作业吗?如果是这样的话,你的老师有没有教过你dplyr的groupby和filter?我并没有这么多地使用它们。我认为我们需要使用state.division和state.name。否则,我认为我们对任何事情都持开放态度。
state.x77[state.x77$Distance == ave(state.x77$Income, state.x77$state.division, FUN = min), ]