【发布时间】:2026-01-09 23:05:01
【问题描述】:
当我将矩阵子集到单列时,结果是数字类,而不是矩阵(即 myMatrix[ , 5 ] 到第五列的子集)。是否有一种紧凑的方法可以将子集设置为单个列、维护矩阵格式并维护行/列名称,而无需执行复杂的操作,例如:
matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
【问题讨论】:
当我将矩阵子集到单列时,结果是数字类,而不是矩阵(即 myMatrix[ , 5 ] 到第五列的子集)。是否有一种紧凑的方法可以将子集设置为单个列、维护矩阵格式并维护行/列名称,而无需执行复杂的操作,例如:
matrix( myMatrix[ , 5 ] , dimnames = list( rownames( myMatrix ) , colnames( myMatrix )[ 5 ] )
【问题讨论】:
对[ 使用drop=FALSE 参数。
m <- matrix(1:10,5,2)
rownames(m) <- 1:5
colnames(m) <- 1:2
m[,1] # vector
m[,1,drop=FALSE] # matrix
【讨论】:
m[1,,drop=FALSE]
cooksd<-as.data.frame(cooks.distance(ft1)) cooksD_outliers<-cooksd[cooksd>0.1,drop=FALSE,]