我有以下代码。现在太慢了。如何重写它以提高速度? (采用矢量化形式,使用应用函数或任何其他形式)
我的数据框称为城市。
bcolumn.pattern <- '^b[0123456789][0123456789]'
bcolumn.index = grep(bcolumn.pattern, names(urban))
bcolumn.nrow <- dim(urban)[1]
for (k in bcolumn.index){
for (l in( 1 :bcolumn.nrow))
if ( is.nan(urban [l, ][ ,k]) )
{urban [l, ][ ,k] <- 0 }
答案 0 :(得分:2)
一种可能性:
# if urban is a data.frame
urban[,bcolumn.index] <- lapply(urban[,bcolumn.index], function(x) {x[is.nan(x)] <- 0; x})
# if urban is a matrix
urban[,column.index][is.nan(urban[, column.index])] <- 0