HDDZ 你的数据跟 R 里的 USAarrests
有点不同,你用 colnames()
和 rownames()
命令查看一下。简单说,USAarrests
里的 Alabama 等不是列向量,而是行名称,在 scale()
的时候不会被算到数据里去;而你的 Hohhot 等是数据的第一列,所以 scale()
命令也会试图将其标准化,而它们不是数值型数据,于是报错。
假设你的数据名称是 x
,你可以试试:
y <- x[-1]
rownames(y) <- x[1]
scale(y)
但愿你的数据不是 tibble
格式,tibble
不能被赋予行名称,而普通 data.frame
可以。