我有一个名为“specdata”的数据框
这是数据帧规范数据的组成部分:
head(specdata)
Date sulfate nitrate ID
1: 2003-01-01 NA NA 1
2: 2003-01-02 NA NA 1
3: 2003-01-03 NA NA 1
4: 2003-01-04 NA NA 1
5: 2003-01-05 NA NA 1
6: 2003-01-06 NA NA 1
tail(specdata)
Date sulfate nitrate ID
1: 2004-12-26 NA NA 332
2: 2004-12-27 NA NA 332
3: 2004-12-28 NA NA 332
4: 2004-12-29 NA NA 332
5: 2004-12-30 NA NA 332
6: 2004-12-31 NA NA 332
数据框包含1到332的ID列,硫酸盐的值不是NA。
当我试图检索ID列== 1的硫酸盐柱的所有值时,它有效 我使用下面的代码:
subset(specdata$sulfate,specdata$ID==1)
我需要的是我应该能够检索列id = 1:20的硫酸盐的所有值,它没有用。
我使用了以下代码:
subset(specdata$sulfate,specdata$ID==1)
Warning message:
In specdata$ID == 1:20 :
longer object length is not a multiple of shorter object length
任何人都可以帮我吗?
答案 0 :(得分:1)
如果您只是将单个矢量分组,
specdata$sulfate[specdata$ID %in% 1:20]
应该工作得很好。 subset
对于整个data.frame(如
subset(specdata, ID %in% 1:20)
我允许您跳过显式索引(" $"或" [,]")虽然当您尝试将变量用于列名时它不起作用。