我正在尝试使用以下函数从数据框中提取一些列:
library('dplyr')
desired_columns = c(
'a',
'b',
'c')
extract_columns <- function(data) {
extracted_data <- data %>%
select_(desired_columns)
return(extracted_data)
}
但是当我尝试时,我得不到我期望的结果:
> df <- data.frame(a=1:5, b=1:5, c=1:5, d=1:5)
> df
a b c d
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
> extract_columns(df)
a
1 1
2 2
3 3
4 4
5 5
我似乎只得到了第一列,但我想不出我做错了什么。我该如何获取所有请求的列?
dplyr
创建如此复杂的函数?而简单的df[desired_columns]
又有什么不好?这是 R 中最基本的子集操作。 - David Arenburg