R df<;-mpg,列名称<;-hwy,如何呼叫mpg$hwy?df[col_name]不';行不通
我想调用R df<;-mpg,列名称<;-hwy,如何呼叫mpg$hwy?df[col_name]不';行不通,r,dataframe,R,Dataframe,我想调用filter(df,col\u name==value),比如filter(mpg,hwy==27) df <- mpg col_name <- 'hwy' value <- 27 col <- df[col_name] filter(df, col == value) df我们可以使用.data library(dplyr) filter(df, .data[[col_name]] == value) -输出 # A tibble: 14 x 11
filter(df,col\u name==value)
,比如filter(mpg,hwy==27)
df <- mpg
col_name <- 'hwy'
value <- 27
col <- df[col_name]
filter(df, col == value)
df我们可以使用.data
library(dplyr)
filter(df, .data[[col_name]] == value)
-输出
# A tibble: 14 x 11
manufacturer model displ year cyl trans drv cty hwy fl class
<chr> <chr> <dbl> <int> <int> <chr> <chr> <int> <int> <chr> <chr>
1 audi a4 3.1 2008 6 auto(av) f 18 27 p compact
2 audi a4 quattro 2 2008 4 auto(s6) 4 19 27 p compact
3 chevrolet malibu 2.4 1999 4 auto(l4) f 19 27 r midsize
4 hyundai sonata 2.4 1999 4 manual(m5) f 18 27 r midsize
5 hyundai tiburon 2 2008 4 auto(l4) f 20 27 r subcompact
6 nissan altima 2.4 1999 4 auto(l4) f 19 27 r compact
7 nissan altima 3.5 2008 6 manual(m6) f 19 27 p midsize
8 pontiac grand prix 3.8 1999 6 auto(l4) f 17 27 r midsize
9 subaru forester awd 2.5 2008 4 manual(m5) 4 20 27 r suv
10 subaru impreza awd 2.5 2008 4 auto(s4) 4 20 27 r compact
11 subaru impreza awd 2.5 2008 4 manual(m5) 4 20 27 r compact
12 toyota camry 2.2 1999 4 auto(l4) f 21 27 r midsize
13 toyota camry solara 2.2 1999 4 auto(l4) f 21 27 r compact
14 toyota camry solara 3.3 2008 6 auto(s5) f 18 27 r compact
注意:这里我们使用
col_name <- "hwy"
col\u name这两种方法都为me@Mark您是否正在使用col\u name@Mark请注意,当您将同一对象分配给df[col\u name]
时,它现在是一个data.frame,有一列,与您第一次分配的字符串相反。我在运行您的时使用了col\u name,我忘了存储值df[[col_name]
请参见df[[col_name]]也不适用于meIt,返回值是一个包含14行11列的df。我从错误消息中假设您使用的是dplyr::filter
,但请注意所有非基R函数的来源
col_name <- "hwy"