在R中按名称索引列?

在R中按名称索引列?,r,dataframe,R,Dataframe,我有一个非常大的数据框,为了避免查找列的编号来选择它的麻烦,我可以按名称用方括号进行选择吗 如 test\u vec是的,您可以,精确地使用您使用的语法。您还可以使用c()选择多列。单括号返回一个数据.frame对象,而双括号将返回一个向量。 或者,对于大数据帧的子集设置,dplyr::select是一个好朋友 library(dplyr) df.subset <- select(sample.df,c(all_column_names)) 库(dplyr) 是的,你可以。请注意以下代码

我有一个非常大的数据框,为了避免查找列的编号来选择它的麻烦,我可以按名称用方括号进行选择吗


test\u vec是的,您可以,精确地使用您使用的语法。您还可以使用
c()
选择多列。单括号返回一个
数据.frame
对象,而双括号将返回一个
向量
。 或者,对于大数据帧的子集设置,
dplyr::select
是一个好朋友

library(dplyr)
df.subset <- select(sample.df,c(all_column_names))
库(dplyr)

是的,你可以。请注意以下代码:

mtcars[, "mpg"]  # This will result in a vector as output

[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4 14.7 32.4
[19] 30.4 33.9 21.5 15.5 15.2 13.3 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4

如果要保留数据结构(数据帧)作为输入,请将
drop
参数设置为
FALSE

mtcars[, "mpg", drop = FALSE]

                     mpg
Mazda RX4           21.0
Mazda RX4 Wag       21.0
Datsun 710          22.8
Hornet 4 Drive      21.4
Hornet Sportabout   18.7
Valiant             18.1
Duster 360          14.3
Merc 240D           24.4
Merc 230            22.8
Merc 280            19.2
Merc 280C           17.8
Merc 450SE          16.4
Merc 450SL          17.3
Merc 450SLC         15.2
Cadillac Fleetwood  10.4
Lincoln Continental 10.4
Chrysler Imperial   14.7
Fiat 128            32.4
Honda Civic         30.4
Toyota Corolla      33.9
Toyota Corona       21.5
Dodge Challenger    15.5
AMC Javelin         15.2
Camaro Z28          13.3
Pontiac Firebird    19.2
Fiat X1-9           27.3
Porsche 914-2       26.0
Lotus Europa        30.4
Ford Pantera L      15.8
Ferrari Dino        19.7
Maserati Bora       15.0
Volvo 142E          21.4
也可以删除逗号,只使用名称子集:

mtcars["mpg"]     # The data structure of the output is preserved

mtcars[c("mpg", "cyl", "am")]     # For subsetting multiple columns


答案是肯定的,但我认为它不起作用,因为你在这里问?为什么投票被否决?语法正确,方法简单?
mtcars[, "mpg", drop = FALSE]

                     mpg
Mazda RX4           21.0
Mazda RX4 Wag       21.0
Datsun 710          22.8
Hornet 4 Drive      21.4
Hornet Sportabout   18.7
Valiant             18.1
Duster 360          14.3
Merc 240D           24.4
Merc 230            22.8
Merc 280            19.2
Merc 280C           17.8
Merc 450SE          16.4
Merc 450SL          17.3
Merc 450SLC         15.2
Cadillac Fleetwood  10.4
Lincoln Continental 10.4
Chrysler Imperial   14.7
Fiat 128            32.4
Honda Civic         30.4
Toyota Corolla      33.9
Toyota Corona       21.5
Dodge Challenger    15.5
AMC Javelin         15.2
Camaro Z28          13.3
Pontiac Firebird    19.2
Fiat X1-9           27.3
Porsche 914-2       26.0
Lotus Europa        30.4
Ford Pantera L      15.8
Ferrari Dino        19.7
Maserati Bora       15.0
Volvo 142E          21.4
mtcars["mpg"]     # The data structure of the output is preserved

mtcars[c("mpg", "cyl", "am")]     # For subsetting multiple columns