R 从列表中返回一个列表,其中每个数据帧的每一列都是字符类型
这是我们可以使用的列表:R 从列表中返回一个列表,其中每个数据帧的每一列都是字符类型,r,list,filter,R,List,Filter,这是我们可以使用的列表: list1 <- list(L1 = c(a = "abc", b = "bca"), L2 = c(a = 1, b = 2)) 在sapply中检查is.character,并将列表子集化 list1[sapply(list1, is.character)] # $L1 # a b # "abc" "bca" 使用基础R中的过滤器
list1 <- list(L1 = c(a = "abc", b = "bca"),
L2 = c(a = 1, b = 2))
在
sapply
中检查is.character
,并将列表子集化
list1[sapply(list1, is.character)]
# $L1
# a b
# "abc" "bca"
使用
基础R中的过滤器
Filter(is.character, list1)
即使你有一个像L1=c(a=“abc”,b=1)
这样的向量,这两个元素都是字符,因为整数会被强制转换成字符串。啊,我知道问题出在哪里了。在我的原始列表中不是更多的列表,而是tibble。我想这就是为什么我什么也没拿回来。那怎么办呢?将TIBLES更改为列表还是有其他方法?@Dutschke您可以尝试rapply(列表1,函数(x)x[is.character(x)])
,但是我建议用更接近您实际数据的示例问一个新问题。
Filter(is.character, list1)