首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置空气质量数据的子集时选择了未定义的列

设置空气质量数据的子集时选择了未定义的列
EN

Stack Overflow用户
提问于 2018-09-07 16:12:30
回答 2查看 53关注 0票数 2

我想要设置空气质量数据的子集,这样当airquality$Ozone等于41时,我就可以获得airquality$temp。我的代码是

代码语言:javascript
复制
airquality[airquality$Ozone==41, airquality$Temp]

我数据的str()

代码语言:javascript
复制
'data.frame':   153 obs. of  6 variables:
 $ Ozone  : int  41 36 12 18 NA 28 23 19 8 NA ...
 $ Solar.R: int  190 118 149 313 NA NA 299 99 19 194 ...
 $ Wind   : num  7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ...    
 $ Temp   : int  67 72 74 62 56 66 65 59 61 69 ...
 $ Month  : int  5 5 5 5 5 5 5 5 5 5 ...
 $ Day    : int  1 2 3 4 5 6 7 8 9 10 ...
EN

回答 2

Stack Overflow用户

发布于 2018-09-07 16:33:25

Short answer:仅使用要选择为character的列

代码语言:javascript
复制
airquality[airquality$Ozone==41, "Temp"]

Long answer

如果使用索引([..., ...])对data.frame进行子集设置,则有几种选择。

  1. 您可以使用数字子设置:您只需提供行/列的索引号作为整数值。e.g.airquality1,3 #提取第3列的第1行
  2. 您可以使用逻辑子设置(就像您在示例中所做的那样):通过使用逻辑比较,您可以确定要包含在输出中的行/列

airqualityairquality$Ozone==41,colnames(airquality) == "Temp“# double logical subsetting

  • you可以使用字符子设置:仅对于列,您可以在airqualityairquality$Ozone==41中以字符矢量的形式提供列的名称。

airquality,c("Temp","somethingElse")

  • You可以使用"Dollar“子设置,如果您只想访问w列:这里有两个示例,它们将产生相同的输出。唯一的区别是它是先按行还是按列设置子集。请注意,如果您在设置向量airquality$Temp (第二个示例)中的值之前已经选择了该列,则不会在大括号内设置逗号,因为您只剩下一个一维向量。

airqualityairquality$Ozone==41、$Temp airquality$Tempairquality$Ozone==41 #本质上做的是相同的

有什么问题吗?

代码语言:javascript
复制
airquality[airquality$Ozone==41, airquality$Temp]

在这种情况下,您可以按行进行逻辑子集,这是完全没有问题的。另一方面,按列设置的子集将是按列设置的数字子设置,因为airquality$Temp会将整数向量解析为列的子集。因此,您最终将寻址不存在且包含NA的列67、NA等。因此,R返回错误"undefined columns selected"

有关R的子集的进一步介绍,请查看https://adv-r.hadley.nz/subsetting.html

票数 2
EN

Stack Overflow用户

发布于 2018-09-07 16:15:58

对于子集的第二个参数,您需要的是列的名称,而不是列的实际值。

airquality[airquality$Ozone==41, "Temp"]

此外,您的数据中有一些NA,我认为您希望对其进行过滤,因此您可能正在寻找更类似的内容:

airquality[airquality$Ozone==41 & !is.na(airquality$Ozone), "Temp"]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52218183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档