将dtm Matrix转换为DataFrame时摆脱第一列

时间:2016-05-27 16:36:16

标签: r tm

我已使用此简单的行

将文档术语矩阵转换为数据框
dtm.df <- as.data.frame(inspect(dtm))

问题是我想删除第一列(文件名),但该列没有名称。

1 个答案:

答案 0 :(得分:1)

这里可能存在两个不同的问题:rownames与列。

head(mtcars)
                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

在这里,您会看到一个没有名称的列。这些是rownames。 mpg是第一列。如果我们想删除此列而不引用其名称,我们可以使用

mtcars <- mtcars[,-1]
head(mtcars)
                  cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4           6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag       6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710          4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive      6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant             6  225 105 2.76 3.460 20.22  1  0    3    1

另一方面,如果您正在谈论仍然打印的rownames,您可以使用函数rownames删除它们:

rownames(mtcars) <- NULL
head(mtcars)
  cyl disp  hp drat    wt  qsec vs am gear carb
1   6  160 110 3.90 2.620 16.46  0  1    4    4
2   6  160 110 3.90 2.875 17.02  0  1    4    4
3   4  108  93 3.85 2.320 18.61  1  1    4    1
4   6  258 110 3.08 3.215 19.44  1  0    3    1
5   8  360 175 3.15 3.440 17.02  0  0    3    2
6   6  225 105 2.76 3.460 20.22  1  0    3    1