本文介绍利用tidyverse包的select()函数和sqldf包的sqldf()选择数据框的列。
1. tidyverse包select()
选择列
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21#按位置选择
> data <- mydata %>% select(1:3)
> data <- mydata %>% select(1,3)
#按名字选择
> data <- mydata %>% select('col1','col2')
> data <- mydata %>% select('col1','col3')
#名字以col开头的列
> data <- mydata %>% select(starts_with("col"))
#名字以col结尾的列
> data <- mydata %>% select(ends_with("col"))
#名字包含有col的列
> data <- mydata %>% select(contains("col"))
#名字包含正则表达式的列
> data <- mydata %>% select(matches(".t."))
#选择字符向量中提供变量的所有列
> data <- mydata %>% select(one_of(c("col1","col2")))
#选择数值型的列
> data <- mydata %>% select(is.numeric)删除列
名称前加上减号-
1 | #根据位置删除 |
2. sqldf包
- 选择列
sqldf包可以在R中对dataframe格式使用sql语句,和mysql中的select语句是一致的。1
2> data <- sqldf('select col1,col2 from mydata')
> data <- sqldf('select col1,col2 from mydata where col1=="11"')