通过 dplyr 过滤列名数据框
Filter column names dataframe by dplyr
我想过滤我的数据并删除其中名称为 'Yesterday' 的列。通过在 r
中使用 Dplyr 包
如果要删除以 'Yesterday'
开头的列,可以使用 starts_with
。
library(dplyr)
df %>% select(-starts_with('Yesterday'))
或者 matches
如果您想要删除名称中任意位置具有 'Yesterday'
的列。
df %>% select(-matches('Yesterday'))
您还可以使用:
library(dplyr)
#Data
df <- data.frame(Sr.No=1:2,
Today_Age=11:12,
Yesterday_Age=c(21,32),
Today_Height=c(23,22),
Yesterday_Height=c(21,33))
#Code
new <- df %>% select(!contains('Yesterday'))
输出:
Sr.No Today_Age Today_Height
1 1 11 23
2 2 12 22
因为 OP 被标记为 sql-like
; data.table
包中存在类似的东西:
library(data.table)
df[!names(df) %like% 'Yesterday']
我想过滤我的数据并删除其中名称为 'Yesterday' 的列。通过在 r
中使用 Dplyr 包如果要删除以 'Yesterday'
开头的列,可以使用 starts_with
。
library(dplyr)
df %>% select(-starts_with('Yesterday'))
或者 matches
如果您想要删除名称中任意位置具有 'Yesterday'
的列。
df %>% select(-matches('Yesterday'))
您还可以使用:
library(dplyr)
#Data
df <- data.frame(Sr.No=1:2,
Today_Age=11:12,
Yesterday_Age=c(21,32),
Today_Height=c(23,22),
Yesterday_Height=c(21,33))
#Code
new <- df %>% select(!contains('Yesterday'))
输出:
Sr.No Today_Age Today_Height
1 1 11 23
2 2 12 22
因为 OP 被标记为 sql-like
; data.table
包中存在类似的东西:
library(data.table)
df[!names(df) %like% 'Yesterday']