摆脱R的数据框中的“隐藏列”

时间:2010-08-19 03:01:51

标签: r dataframe

我有一个数据框,我输出到MS Word。可以说我正在尝试输出数据帧mtcars,然后使用R2wd包,我得到:

#install.packages("R2wd")
require(R2wd)
wdGet()
wdTable(mtcars)
  

'> NcoI位(mtcars)
  11

然而,计数显示实际上有12列。 R不包括汽车模型。

我有一个输出数据帧的数字序列的数据帧,我真的需要抑制它。在报告中,我输出了无用的信息。所以我基本上需要压制mtcars的模型列。

另外,他们如何才能将汽车名称变为“隐藏”栏目?

2 个答案:

答案 0 :(得分:4)

所有data.frame个对象都有rowname个属性。您将rowname混淆为实际列。

> str(mtcars)
'data.frame':   32 obs. of  11 variables:
 $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
 $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
 $ disp: num  160 160 108 258 360 ...
 $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
 $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
 $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
 $ qsec: num  16.5 17 18.6 19.4 17 ...
 $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
 $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
 $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
 $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
> rownames(mtcars)
 [1] "Mazda RX4"           "Mazda RX4 Wag"       "Datsun 710"         
 [4] "Hornet 4 Drive"      "Hornet Sportabout"   "Valiant"            
 [7] "Duster 360"          "Merc 240D"           "Merc 230"           
[10] "Merc 280"            "Merc 280C"           "Merc 450SE"         
[13] "Merc 450SL"          "Merc 450SLC"         "Cadillac Fleetwood" 
[16] "Lincoln Continental" "Chrysler Imperial"   "Fiat 128"           
[19] "Honda Civic"         "Toyota Corolla"      "Toyota Corona"      
[22] "Dodge Challenger"    "AMC Javelin"         "Camaro Z28"         
[25] "Pontiac Firebird"    "Fiat X1-9"           "Porsche 914-2"      
[28] "Lotus Europa"        "Ford Pantera L"      "Ferrari Dino"       
[31] "Maserati Bora"       "Volvo 142E"         

答案 1 :(得分:1)

在mtcars data.frame中,他们为rownames =汽车名称设置了data.frame。您可以通过执行以下操作来检查此问题:

data(mtcars)
rownames(mtcars)

您还可以为对象设置rownames。从帮助页面:

m2 <- cbind(1,1:4)
rownames(m2) <- rownames(m2, do.NULL = FALSE, prefix = "Obs.")

colnames存在等效的功能。