Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按条件更换NAs ab_R - Fatal编程技术网

R 按条件更换NAs ab

R 按条件更换NAs ab,r,R,这是我的建议 > dd$Amount[is.Na(dd$Amount)]<- ifelse(my_dd$Activity=="Beneficiary Added", 0, 1) Error in `*tmp*`$Amount : object of type 'closure' is not subsettable abc我的评论作为答案,加上一个带有数据表的示例(我认为语法更清晰): 库(data.table) df只要做df如果你不使用as.factor创建df这个代码df$a

这是我的建议

> dd$Amount[is.Na(dd$Amount)]<- ifelse(my_dd$Activity=="Beneficiary Added", 0, 1)
Error in `*tmp*`$Amount : object of type 'closure' is not subsettable

abc我的评论作为答案,加上一个带有
数据表的示例(我认为语法更清晰):

库(data.table)

df只要做
df如果你不使用
as.factor
创建df这个代码
df$a123[is.na(df$a123)]@GirishKhole,你不觉得这个答案有点太复杂了吗?你很好。事实上,这是品味的问题。在我的解决方案中,您使用“ifelse”和子集的组合。
dd$Amount[is.Na(dd$Amount)]<- ifelse(my_dd$Activity=="Beneficiary Added", 0,1)
> dd$Amount[is.Na(dd$Amount)]<- ifelse(my_dd$Activity=="Beneficiary Added", 0, 1)
Error in `*tmp*`$Amount : object of type 'closure' is not subsettable
abc<- c("A","B","A","C","B","C","C")
df<- data.frame(cbind(abc,a123),stringsAsFactors =FALSE)
df$your_var=ifelse(df$abc %in% "A" & df$a123 %in% NA, 0, ifelse(df$a123 %in% NA,1,df$a123)
print(df)
library(data.table)

df <- data.frame(abc = c("A","B","A","C","B","C","C"), a123 = c(NA,NA,NA,465,NA,532,456))
dt <- data.table(df)

# "Classic" data.frame syntax
df$a123[is.na(df$a123)] <- ifelse(df[is.na(df$a123), 'abc'] == "A", 0, 1)
# data.table one
dt[is.na(a123), a123 := ifelse(abc == "A", 0, 1)]