在示例R
数据集上:
data("USArrests")
当我使用head(USArrests)
时,我得到以下结果:
Murder Assault UrbanPop Rape
Alabama 13.2 236 58 21.2
Alaska 10.0 263 48 44.5
Arizona 8.1 294 80 31.0
Arkansas 8.8 190 50 19.5
California 9.0 276 91 40.6
Colorado 7.9 204 78 38.7
当我使用str(USArrests)
时,会出现以下结果:
'data.frame': 50 obs. of 4 variables:
$ Murder : num 13.2 10 8.1 8.8 9 7.9 3.3 5.9 15.4 17.4 ...
$ Assault : int 236 263 294 190 276 204 110 238 335 211 ...
$ UrbanPop: int 58 48 80 50 91 78 77 72 80 60 ...
$ Rape : num 21.2 44.5 31 19.5 40.6 38.7 11.1 15.8 31.9 25.8 ...
即使有另一列具有不同的状态(没有列标题)。当我使用str
函数时,如何获取数据以便第一列不显示?我有一个我尝试群集的国家/地区列表,但我无法使用scale
功能,因为显然第一列不是数字,但我无法创建新数据框没有那一栏,因为我试图聚集国家......
答案 0 :(得分:2)
状态名称似乎是rownames
,而不是完整列。您可以使用以下命令将rownames转换为列:
USArrests <- cbind(rownames(USArrests), USArrests)
或将列转换为rownames:
rownames(df) <- df$states
tibble
包还包含有用的功能:rownames_to_column()
和column_to_rownames()