Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 从列表中返回一个列表,其中每个数据帧的每一列都是字符类型_R_List_Filter - Fatal编程技术网

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)