用数字替换包含字符串的所有单元格

时间:2014-12-05 14:29:54

标签: r replace char

我想替换包含数字(1)的字符的数据框中的所有单元格。 R?

可以选择哪种方式

1 个答案:

答案 0 :(得分:2)

可能有帮助

d1[(`dim<-`(!grepl('^[0-9]+$', as.matrix(d1)), dim(d1)))] <- 1

或者

d1[] <- lapply(d1, function(x) {x[!grepl('^[0-9]+$', x)] <- 1
                               x})

或者

 d1[] <- lapply(d1, as.numeric)
 d1[is.na(d1)] <- 1

数据

set.seed(24)
d1 <- as.data.frame(matrix(sample(c(LETTERS[1:4], 1:10), 
          10*5, replace=TRUE), ncol=5), stringsAsFactors=FALSE)