为了账号安全,请及时绑定邮箱和手机立即绑定

如何为选定列替换表中的NA值

如何为选定列替换表中的NA值

千万里不及你 2019-11-27 10:37:43
关于替换NA值的帖子很多。我知道可以用以下内容替换下表/框架中的NA:x[is.na(x)]<-0但是,如果我想将其限制为仅某些列呢?让我给你看一个例子。首先,让我们从数据集开始。set.seed(1234)x <- data.frame(a=sample(c(1,2,NA), 10, replace=T),                b=sample(c(1,2,NA), 10, replace=T),                 c=sample(c(1:5,NA), 10, replace=T))这使:    a  b  c1   1 NA  22   2  2  23   2  1  14   2 NA  15  NA  1  26   2 NA  57   1  1  48   1  1 NA9   2  1  510  2  1  1好的,所以我只想将替换限制为列“ a”和“ b”。我的尝试是:x[is.na(x), 1:2]<-0和:x[is.na(x[1:2])]<-0哪个不起作用。我的data.table尝试(where y<-data.table(x))显然是行不通的:y[is.na(y[,list(a,b)]), ]我想在is.na参数中传递列,但这显然行不通。我想在data.frame和data.table中执行此操作。我的最终目标是将'a'和'b'中的1:2编码为0:1,同时保持'c'的原样,因为它不是逻辑变量。我有一堆专栏,所以我不想一个接一个地做。而且,我只想知道如何执行此操作。你有什么建议吗?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 779 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信