我知道如何按名称从R数据框中删除列,但是我不知道如何在矩阵中执行此操作。我想做这样的事情:
> m <- matrix(1:6, nrow=2, ncol = 3)
> colnames(m) <- c("q", "w", "e")
> m
q w e
[1,] 1 3 5
[2,] 2 4 6
> variable_to_remove <- "q"
> m[,variable_to_remove] <- NULL
Error in m[, variable_to_remove] <- NULL :
number of items to replace is not a multiple of replacement length
重要的是,我需要使用“ variable_to_remove”,它是一个字符串。 一段时间后,我发现subset()完成了此操作:
> subset(m, select=-c(get(variable_to_remove)))
w e
[1,] 3 5
[2,] 4 6
我真的不喜欢使用get(),eval(),parse()等函数。有没有更简单更好的方法呢?