簡體   English   中英

使用多個條件的 r 數據幀中的分隔因子和字符列

[英]separating factor and character columns in r data frame using multiple condition

我只想分隔數據框的兩種類型的列(因子和字符),以下代碼會導致錯誤。 我想知道執行此任務的正確方法是什么。

install.packages("dslabs")
library(dslabs)
data(murders)

names(murders)[sapply(murders, (is.factor | is.character))]

我可以使用下面的代碼將兩者結合起來,但我想知道如果我想使用多個條件作為上面的代碼,正確的格式是什么。

c(names(murders)[sapply(murders, is.factor)],names(murders)[sapply(murders, is.character)])

我們可能需要 lambda function

names(murders)[sapply(murders, function(x) 
      is.factor(x) | is.character(x))]

或者另一種選擇是獲取class並使用%in%

names(murders)[sapply(murders, class) %in% c("factor", "character")]

或帶Filter

names(Filter(function(x) is.factor(x)|is.character(x), murders))

或使用tidyverse

library(dplyr)
murders %>%
    select(where(~ is.factor(.x)|is.character(.x))) %>%
    names

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM