【发布时间】:2013-11-04 17:46:48
【问题描述】:
我有一个带有 NA 行的数据框:
df = data.frame(c("classA", NA, "classB"), t(data.frame(rep("A", 5), rep(NA, 5), rep("B", 5))))
rownames(df) <- c(1,2,3)
colnames(df) <- c("class", paste("Year", 1:5, sep = ""))
> df
class Year1 Year2 Year3 Year4 Year5
1 classA A A A A A
2 <NA> <NA> <NA> <NA> <NA> <NA>
3 classB B B B B B
我特意引入了空行(NA 行),因为我想在 classA 行和 classB 行之间留一些空间。
现在,我想将<NA> 替换为空白,这样第二行看起来就像一个空行。
我试过了:
df[is.na(df)] <- ""
和
df[df == "NA"] <- ""
但它没有工作..
有什么想法吗?谢谢!
【问题讨论】:
-
您的第一次尝试对我来说效果很好。没用怎么办?
-
我仍然在数据框中看到
,代码似乎没有任何影响 -
这与因素有关(当然!)...试试
str(df)(我的回答一头雾水!) -
顺便说一句,永远不要只说“它不起作用”。您忽略了提及您在运行该代码时肯定收到的六个(!)警告消息。警告信息应该非常具有暗示性,你不觉得吗?
-
<NA>周围的括号表示它们不是字符串。 Have a look HERE 了解更多信息。