在 R 中的列表列表中删除空字符串

mat*_*lde 3 r list

我目前正在 R 中进行一个文本挖掘项目,其中包含一个列表列表。我想删除我的列表列表中的所有空字符串和 NA 值,但我还没有找到方法。我的数据如下所示:

x <- list(c("", "alteryx", "confirme", "", "", "", "ans", "", ""))
Run Code Online (Sandbox Code Playgroud)

主要列表引用了不同的文本。每个文本都由所有单词的列表组成。所以当我删除一个单词时,它变成了一个空字符串。我只想明确地删除它,从而减少我的文本长度。

我尝试了很多不同的东西,例如

stri_remove_empty_na(c(demande2[20]))这给了我错误Warning message: In stri_enc_toutf8(x) : argument is not an atomic vector; coercing并将我的文本转换为: stri_remove_empty_na的结果

所以请我需要你的帮助(我很抱歉我的英语,我是法国人:))

提前致谢

Cet*_*ttt 9

您可以使用lapply和简单的子集:

x <- list(c("", "alteryx", "confirme", "", "", "", "ans", "", ""))
lapply(x, function(z){ z[!is.na(z) & z != ""]})

[[1]]
[1] "alteryx"  "confirme" "ans"
Run Code Online (Sandbox Code Playgroud)

lapply将函数应用于列表的每个组件。在这种情况下,该函数是一个简单的子集函数。