我的问题如下:
我需要减少一个矩阵,删除一些列,但保留列向量的名称。DTM 是我的原始矩阵,如下所示:
>DTM
word1 word2 word3 word4
[1] 1 1 0 0
[2] 2 0 1 1
[3] 0 1 0 2
我想获得一个具有“标签”的新矩阵(以下代码块中的 DTMr)并消除其成员总和小于阈值的所有列(例如 2):
word1 word4
[1] 1 0
[2] 2 1
[3] 0 2
>DTMr <- matrix(,nrow=nrow(DTM),ncol=d) # This should be the reduced matrix
其中 d 是大于阈值的 DTM 的列数
>c = 1 # new counter
>for (col in 1:ncol(DTM))
>{
> if (sum(DTM[,col]) > 2)
> {
> DTMr[,c] = DTM[,col]
>
> c=c+1
> }
>}
不幸的是,DTMr 是完美的,但它丢失了所有标签(单词 1,...单词 n)。
有任何想法吗?
克劳迪奥