【发布时间】: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)