R子集返回带警告的受限集

菲利普·史密斯

我有一个12500 obs的data.frame。8个变量中的一个,其中一个是State(taxes $ State)。我想将数据细分为从Shiny中的用户输入获得的多个状态,但是当我添加多个状态时,我一直在删除数据。我已经归结为时髦的子集功能。我只有两种状态没有警告,但是第三种引发异常。在任何情况下,我仅限于250磅。在返回。例如

temp<-subset(taxes, State==c("AL","MO",TX))

警告消息:1:在is.na(e1)中| is.na(e2):较长的对象长度不是较短的对象长度的倍数:In ==.default(State,c(“ AL”,“ MO”,“ TX”)):较长的对象长度不是较短的对象长度的倍数长度

我也尝试了其他变量也具有相同的结果

temp<-subset(taxes,StateFullName==c("Iowa","Missouri","Texas"))

警告消息:在StateFullName == c(“ Iowa”,“ Missouri”,“ Texas”)中:较长的对象长度不是较短的对象长度的倍数

关于为什么我仅限于250个观察点的任何想法?

阿克伦

您只需要%in%比较> 1的a vectorlength

subset(taxes, State %in% c('AL', 'MO', 'TX'))
#   State amount
#4     MO  14143
#27    TX  11517
#30    AL  14465

或使用data.table,我们将'data.frame'转换为'data.table'(setDT(taxes),将key设置为'State',并提取在'State'中具有'MO','TX','AL'的行。

library(data.table)
setDT(taxes, key='State')[c('MO', 'TX', 'AL')]
#    State amount
#1:    MO  14143
#2:    TX  11517
#3:    AL  14465

要了解为什么您的代码无法正常工作,让我们检查一下逻辑向量输出。

with(taxes, State==c('AL', 'MO', 'TX'))
# [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
# [49] FALSE FALSE

警告消息:1:在is.na(e1)中| is.na(e2):较长的对象长度不是较短的对象长度的倍数

TRUE此示例均不包含任何元素比较的方式基于回收。依次将“状态”的前三个元素与向量“ AL”,“ MO”和“ TX”进行比较

 taxes$State[1:3] == c('AL', 'MO', 'TX')
 #[1] FALSE FALSE FALSE

在这里,我们将两个向量的对应值之间的逐个元素进行比较,并比较

  taxes$State[1:3]
  #[1] AK AL AR

在相应位置不匹配“ AL”,“ MO”和“ TX”,则返回“ FALSE”。

以同样的方式,对它进行比较,直到length“状态”列,即下一个比较是

 taxes$State[4:6] == c('AL', 'MO', 'TX')
 #[1] FALSE FALSE FALSE

FALSE由于“状态”元素分别是“ AZ”,“ CA”和“ CO”,因此也都是这里最后我们收到警告,因为

 nrow(taxes)
 #[1] 50

50%%3!=0

如果nrow数据集的是51,则警告将不会出现,但是由于比较是基于位置的,因此我们可能无法获得预期的结果。

数据

set.seed(24)
taxes <- data.frame(State=sample(state.abb), 
       amount=sample(400:20000, 50, replace=TRUE), stringsAsFactors=FALSE)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带R的子集数据帧

来自分类Dev

mysql返回查询子集比返回查询超集慢

来自分类Dev

mysql返回查询的子集比返回查询的超集慢

来自分类Dev

带R中的虚拟变量的重叠数据子集的箱线图

来自分类Dev

如何创建基于约定的返回受限属性集的表达式树?

来自分类Dev

R:ifelse,根据条件返回子集

来自分类Dev

scanf受限字符集

来自分类Dev

scanf受限字符集

来自分类Dev

如何在R中读取大型数据集的子集?

来自分类Dev

R-不包含“ NA”或“ null”的数据集的子集

来自分类Dev

R-在循环中创建多个数据集的子集

来自分类Dev

按R中的间隔集设置子集数据

来自分类Dev

在 R 中对数据集进行子集化

来自分类Dev

仅允许枚举的子集作为返回值-或如何使编译器警告我?在C ++中

来自分类Dev

R子集函数返回零条记录,原因不明

来自分类Dev

R子集函数返回零条记录,原因不明

来自分类Dev

使用返回子集向量值来子集R中的另一个向量

来自分类Dev

程序集无法在受限的AppDomain中加载

来自分类Dev

Buildroot busybox受限命令集

来自分类Dev

验证访问受限SODA数据集的请求

来自分类Dev

带xts子集的R:每天设置两个时间范围

来自分类Dev

如何在R脚本中从数据集1创建子集(数据集2)

来自分类Dev

如何实现对数据库中子集的受限访问

来自分类Dev

PHP返回“警告:无法保存结果集”,但MySQL工作台正确返回

来自分类Dev

DbContext.SqlQuery返回受限列

来自分类Dev

具有受限返回类型的Typeclass实例

来自分类Dev

在r中使用带for循环的if语句返回结果

来自分类Dev

子集返回0行

来自分类Dev

在Spring MVC 3中,如何使用带jdbcTemplate返回结果集的准备好的语句?

Related 相关文章

热门标签

归档