R 如何获取另一列中具有特定值的对应列?

R 如何获取另一列中具有特定值的对应列?,r,R,比如说,我有一个包含三列的数据框架: Year Sales Income 1 100 30 2 200 20 3 NA 10 4 300 50 5 NA -20 我想得到所有在“销售额”中具有特定值的“年”,忽略其他列。例如,如果我要求NA,我应该得到: Year Sales 3 NA 5 NA 请注意,上

比如说,我有一个包含三列的数据框架:

Year     Sales     Income
1         100       30
2         200       20
3         NA        10
4         300       50
5         NA       -20
我想得到所有在“销售额”中具有特定值的“年”,忽略其他列。例如,如果我要求NA,我应该得到:

Year    Sales
3       NA
5       NA

请注意,上述数据框中没有收入。

您可以尝试使用
基本R
。在数据框中,您可以按行(左至
)和括号内的列(右至
)进行索引。因此,在本例中,您可以在
Sales
中指定条件
NA
,然后选择
Year
Sales
等变量。代码如下:

#Code
df[is.na(df$Sales),c('Year','Sales')]
输出:

  Year Sales
3    3    NA
使用的一些数据:

#Data
df <- structure(list(Year = 1:4, Sales = c(100L, 200L, NA, 300L), Income = c(30L, 
20L, 10L, 50L)), class = "data.frame", row.names = c(NA, -4L))
#数据

df我们可以使用
base R
子集

subset(df, is.na(Sales), select = c('Year', 'Sales'))
#  Year Sales
#3    3    NA
#5    5    NA
数据
df您可以使用之前必须声明的%in%子集。我通常直接在ggplot中使用这些。希望他们也能独立工作。例如:

col11 <- c("c11", "c12")
typecol2 <- c("c22", "c24")
data_new <- subset(data old, (col1 %in% col11) & (col2 %in% typecol2))
col11
col11 <- c("c11", "c12")
typecol2 <- c("c22", "c24")
data_new <- subset(data old, (col1 %in% col11) & (col2 %in% typecol2))