如何用R中的NA替换一行中的值?
我有一个文本文件:如何用R中的NA替换一行中的值?,r,R,我有一个文本文件: df=read.table("E:\\value.txt", sep="\t") df k jh fg 1 208 0.15 0.17 2 304 0.00 0.08 现在我想将k中不需要的值替换为NA df$k[df$k >= 500 ]=NA 这没有问题,但我想用NA替换所有相应的值(在jh和fg的同一行中) 很难想象之前的回答中没有说明这一点(但我确实搜索过): df1 500,]尽管[.data.frame的奇怪
df=read.table("E:\\value.txt", sep="\t")
df
k jh fg
1 208 0.15 0.17
2 304 0.00 0.08
现在我想将k
中不需要的值替换为NA
df$k[df$k >= 500 ]=NA
这没有问题,但我想用
NA
替换所有相应的值(在jh和fg
的同一行中) 很难想象之前的回答中没有说明这一点(但我确实搜索过):
df1 500,]
尽管[.data.frame
的奇怪行为(以我的思维方式)意味着您将获得df$k中任何位置的NA行,该位置包含NA值。在“[”的“i”参数中使用子集
或使用&is.NA(df$k)
。如果行名处于默认状态,您可以使用行名(df)!=2
当测试符合逻辑时,我一直在努力按行号进行选择。你只得到0,'和1,所以你可能只在第一行什么也得不到。尝试:`df2[!2,]`……返回空数据帧。这成功了在%2,]中df2[!seq(nrow(df2))%SO界面告诉我这是一个聊天,所以我要回到我的正常工作。
is.na(df1[df1$k >300, ] ) <- TRUE
> methods(`is.na<-`)
[1] is.na<-.default is.na<-.discrete is.na<-.factor