我有一个这样的列表y<-list(Ozone=100:112, Month=1:12, Temp=60:72)
我想提取元素,即臭氧&gt; 108,在第二个查询中,我想提取(同时)臭氧的月和温度元素&gt; 108
所以,(因为这是一个简单的例子)输出将是:
`$Ozone`
[1] 109 110 111 112
$Month
[1] 9 10 11 12
$Temp
[1] 69 70 71 72
感谢您的帮助
答案 0 :(得分:0)
y
是一个向量列表,它是data.frame及其后代data.table和tibble的定义。
因此,您可以将y
转换为类似data.frame的对象并在那里进行选择:
y <- list(Ozone = 101:112, Month = 1:12, Temp = 61:72)
注意列表y
的不同定义:每个元素都是一个长度相同的向量12.
library(data.table)
# coerce to data.table
DT <- as.data.table(y)
# select
DT[Ozone > 108, Ozone]
#[1] 109 110 111 112
DT[Ozone > 108]
# Ozone Month Temp
#1: 109 9 69
#2: 110 10 70
#3: 111 11 71
#4: 112 12 72
或者基本R语法:
DF <- as.data.frame(y)
DF[DF$Ozone > 108, "Ozone"]
#[1] 109 110 111 112
DF[DF$Ozone > 108, ]
# Ozone Month Temp
#9 109 9 69
#10 110 10 70
#11 111 11 71
#12 112 12 72