【问题标题】:Remove empty strings in a list of lists in R删除R中列表列表中的空字符串
【发布时间】:2019-11-21 14:25:00
【问题描述】:

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

x <- list(c("", "alteryx", "confirme", "", "", "", "ans", "", ""))

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

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

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

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

提前致谢

【问题讨论】:

  • 请不要使用dput(mydata)发布您数据的屏幕截图,而是您的数据的代表性部分。
  • 谢谢,我不知道这个命令!所以示例中文本的结果是:``` list(c("", "alteryx", "confirme", "", "", "", "ans", "", "")) `

标签: r list


【解决方案1】:

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

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

[[1]]
[1] "alteryx"  "confirme" "ans"

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

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 2011-04-20
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    相关资源
    最近更新 更多