R:从列表中删除空格

标签 r

我想知道是否有任何方法可以从列表中删除空格。
据我搜索,我发现有很多问答可以删除
列表中的整个元素,但找不到关于
元素的特定组件。

具体来说,我现在使用的列表如下所示:

[[1]]
[1] "1" ""  ""  "2" ""  ""  "3"

[[2]]
[1] "weak"

[[3]]
[1] "22" "33"

[[4]]
[1] "44"  "34p" "45" 

从上面,你可以找到“”,它应该被删除。
我试过不同的命令,比如
text.words.bl <- text.words.ll[-which(text.words.ll==" ")]
text.words.bl <- text.words.ll[!sapply(text.words.ll, is.null)]

等等,但似乎列表的 [[1]] 中的 ""s 仍然存在。

是否不可能对列表的每个元素中的小块应用命令?
(例如分别为 1、2、弱、22、33...)

我使用了“lapply”函数来对每个元素运行特定的命令,
看起来那些 lapply 命令都有效......

杰伊

最佳答案

使用 %in% ,但用 ! 否定它:

## Sample data:
L <- list(c(1, 2, "", "", 4), c(1, "", "", 2), c("", "", 3))
L
# [[1]]
# [1] "1" "2" ""  ""  "4"
# 
# [[2]]
# [1] "1" ""  ""  "2"
# 
# [[3]]
# [1] ""  ""  "3"

更换:
lapply(L, function(x) x[!x %in% ""])
# [[1]]
# [1] "1" "2" "4"
# 
# [[2]]
# [1] "1" "2"
# 
# [[3]]
# [1] "3"

显然,如果要覆盖原始数据集,请将输出分配给“L”:
L[] <- lapply(L, function(x) x[!x %in% ""])

关于R:从列表中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29144759/

相关文章:

r - ggplot 用于多个分类变量——计数数据

r - 将闪避与 geom_point 和误差条一起使用以水平显示模型中的系数

r - R中的加权随机数生成

r - 我应该在 R 中使用 crossprod 或基函数来计算两个向量距离的平方范数吗?

r - 将 levelplot() 保存到 R 的格子包中的文件

RMysql编码utf8问题

r - 修改 R 包数据

r - 使用 R 中的变量选择列

r - 关闭 ggplot 中的一些图例

r - 如何使用 rmarkdown 和 pandoc 在表格中编写(项目符号)列表