【问题标题】:How to replace all values in my dataframe containing the string "x" with NAs?如何用 NA 替换包含字符串“x”的数据框中的所有值?
【发布时间】:2018-02-12 01:39:18
【问题描述】:

解决了

我将一些 excel 文件缓存到 csv 中,问题出在 excel 表中,而不是在不存在的地方给出空白值,输入“x”或“xx”直到“xxxxx”,我需要将所有这些转换为NA的。我该怎么办?我在 R 的在线解决方案中找到的一些更复杂的功能对我来说没有意义(例如 apply + function + grepl),但我可以单独理解 grepl 之类的东西,但似乎找不到有用的东西。

我试过了

df <- replace(df, df == grepl(df, "x"), NA) %>%
write_csv("df.csv") 

但是我得到了一个

错误:我的 df(grepl 中的模式)长度 >1

并且只使用第一个元素(我假设是第一列)。

我也按列单独完成了一些事情,但我正在寻找可以扩展的东西。 谢谢!

【问题讨论】:

  • 嗨,杰弗里,欢迎来到 StackOverflow。请查看How to make a great R reproducible example并尝试举个例子,以便其他人帮助您。
  • 你应该改用grepl("x",df)
  • 不幸的是切换它不起作用:(
  • replace(df,structure(grepl("x",unlist(df),.Dim=dim(df)),NA)

标签: r csv


【解决方案1】:
df[sapply(df, grepl, pattern = 'x')] <- NA

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2018-12-29
    • 2018-02-21
    • 2021-08-30
    相关资源
    最近更新 更多