0
我认为一旦将0替换为NA,以下代码将平稳运行。显示0,1,2,3的计数为table(x)
。为什么我会收到以下错误(代码在没有拨打tryCatch
的情况下运行时)?谢谢。指标变量:处理矢量中的替换NA
Error in X[[v]] <- ifelse(x == v, 1, 0) :
attempt to select less than one element
输入:
x <- c(NA,NA,1,1,2,2,3,3)
x[is.na(x)] <- 0
uniqs <- sort(unique(x))
X <- list()
for (v in uniqs){
tryCatch({
X[[v]] <- ifelse(x == v , 1 , 0)
} , warning = function(w){print(w)}, error = function(e){ print(v);print(sum(x==v)) },
finally = { print('done') })
}
非常有帮助,谢谢。我根本没有朝这个方向看:我认为0是一个有效的列表元素名称(强制为一个字符串或类似的东西)。 – user2105469