[问题] 对照另一个matrix来补NA值

楼主: ruokcnn (Dean)   2017-11-27 16:18:02
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
有两个matrix/dataframe
row/column一样, 但两个是不同变量所以值不同
一个有NA值
另一个是完整的
想让a的na值对照在b同样row/column底下的值去补
目前写法就是最洨慢的用两层for loop包
在一个一个对应
想知道比较快的写法
或者其实他可以用apply家族包但我还未参透
[程式范例]:
for(i in 1:nrow(a)){
for(j in 1:ncol(a)){
if(is.na(a[i,j])) b[i,j] else a[i,j]}
}
[环境叙述]:
请提供 sessionInfo() 的输出结果,
里面含有所有你使用的作业系统、R 的版本和套件版本资讯,
让版友更容易找出错误
[关键字]:
选择性,也许未来有用
作者: x88776544pc (龙飞五丈原)   2017-11-27 16:34:00
matrix 的话 ifelse(is.na(a),b,a)
作者: clsmbstu   2017-11-27 17:21:00
data frame的话可以a[is.na(a)] <- b[is.na(a)]#1Psmghdu 有过相关的讨论

Links booklink

Contact Us: admin [ a t ] ucptt.com