【发布时间】:2013-06-11 19:45:02
【问题描述】:
为什么第一行有效而第二行无效?我在文档中找不到有关如何使用 which 来选择数据的原因,尽管我偶然发现我需要一个逗号。
sigData <- data[which(abs(data$wc2) > 3*wc2_sd),]
sigData <- data[which(abs(data$wc2) > 3*wc2_sd)]
【问题讨论】:
标签: r
为什么第一行有效而第二行无效?我在文档中找不到有关如何使用 which 来选择数据的原因,尽管我偶然发现我需要一个逗号。
sigData <- data[which(abs(data$wc2) > 3*wc2_sd),]
sigData <- data[which(abs(data$wc2) > 3*wc2_sd)]
【问题讨论】:
标签: r
第一行的尾随逗号表示您正在按行进行子集(记住[ 是一个表示子集的函数)
第二行中缺少尾随逗号表示您正在按列进行子集化。第二行相当于在括号内使用前导逗号。
sigData <- data[, which(abs(data$wc2) > 3*wc2_sd)]
【讨论】:
m <- matrix(c(1,2,3,4), 2, 2); m[3] 会给您第三个元素,就好像矩阵是一个向量
test = data.frame(matrix(seq1:6),2) >>> typeof(test[c(1)]) [1] "list" >>> typeof(test[,c(1)]) [1] "integer"