在R数据框架中创建一个新类



我需要在R数据框架中创建一个新类。例如,

asd <- data.frame(a = c("A", "B"), b = c("D","S"))
class(asd$b) <- "New" 
如你所见,我已经创建了一个新类" new "。但是当我做下面的操作时,我没有得到
asd %>% select_if(is.New) 
Error in is_logical(.predicate) : object 'is.New' not found

预期输出

b
1  D
2  S

仅仅因为你创建了一个类"New"并不意味着还创建了一个名为is.New的函数。is()的通用形式将类名作为字符值。你可以用

asd %>% select_if(~is(., "New"))

如果你想创建is.New你可以输入

is.New <- function(x) is(x, "New")
asd %>% select_if(is.New) 

我们可以使用selectwhere

library(dplyr)
asd %>%
select(where(~ is(., "New")))

与产出

b
1 D
2 S

最新更新