如何根据R中的列类型选择列?
我在R中有一个data.frame,有许多列(超过50+)。列类型为整数、因子和字符。有没有一种快速的方法只选择我的数据帧的所有字符列 我试过下面这样的方法,但没用/如何根据R中的列类型选择列?,r,dataframe,R,Dataframe,我在R中有一个data.frame,有许多列(超过50+)。列类型为整数、因子和字符。有没有一种快速的方法只选择我的数据帧的所有字符列 我试过下面这样的方法,但没用/ 示例:新建_数据集dplyr::如果可以帮助您,请选择_ 例如,这将获取表t中类型为character的所有列: > t %>% select_if(is.character) %>% glimpse() Rows: 199,303 Columns: 6 $ user_type &l
示例:新建_数据集
dplyr::如果
可以帮助您,请选择_
例如,这将获取表t
中类型为character
的所有列:
> t %>%
select_if(is.character) %>%
glimpse()
Rows: 199,303
Columns: 6
$ user_type <chr> "registered", "registered", "registered", "registered",…
$ location <chr> "Massachusetts", "United States", "South Africa", "Loui…
$ website_url <chr> "http://caerwyn.com", "http://www.berbs.us", "http://tu…
$ link <chr> "https://stackoverflow.com/users/2406/caerwyn", "https:…
$ profile_image <chr> "https://www.gravatar.com/avatar/0983795ba79aaa48a86752…
$ display_name <chr> "caerwyn", "berberich", "tumbleweed", "Nate", "Ryan", "…
>t%>%
如果(是.字符)%>%,请选择_%
一瞥
行数:199303
栏目:6
$user_类型“已注册”、“已注册”、“已注册”、“已注册”、,…
$location“马萨诸塞州”、“美国”、“南非”、“路易…
$website\u url“http://caerwyn.com", "http://www.berbs.us", "http://tu…
$link“https://stackoverflow.com/users/2406/caerwyn“,”https:…
$profile_图像”https://www.gravatar.com/avatar/0983795ba79aaa48a86752…
$display_name“caerwyn”、“berberich”、“风滚草”、“Nate”、“Ryan”和“…
用is.numeric
,is.logical
等替换is.character
,可以得到您所需要的。dplyr::select_如果()
被dplyr::select(其中(…)
替换为dplyr
1.0.0中的
要选择类型为字符的列,请使用:
库(dplyr)
风暴%>%选择(其中(是.字符))%>%
一瞥
行:10010
栏目:2
$name“艾米”、“艾米”、“艾米”、“艾米”。。。
$status“热带低气压”、“热带低气压”。。。
数据:
df <- data.frame(
char = c("hi there", "how're you", "what's up"),
int = 1:3,
fac = c("A", "B", "C"),
stringsAsFactors = F
)
str(df)
'data.frame': 3 obs. of 3 variables:
$ char: chr "hi there" "how're you" "what's up"
$ int : int 1 2 3
$ fac : chr "A" "B" "C"
这里,sapply
将函数is.character
应用于df
中的每一列。函数本身运行一个测试-是'character'类型的列-并相应地返回TRUE或FALSE。old_数据集[sapply(old_数据集,is.character)]如果有帮助的话,就如你所说的,考虑接受和/或投票。嘿,克里斯,我给了这个机会,但是我的名声还不到15。所以它记录下来了,但还没有公开展示。@查德朗伍德。
df <- data.frame(
char = c("hi there", "how're you", "what's up"),
int = 1:3,
fac = c("A", "B", "C"),
stringsAsFactors = F
)
str(df)
'data.frame': 3 obs. of 3 variables:
$ char: chr "hi there" "how're you" "what's up"
$ int : int 1 2 3
$ fac : chr "A" "B" "C"
df[sapply(df, is.character)]
char fac
1 hi there A
2 how're you B
3 what's up C