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)]