我试图在0和1范围内使用以下代码缩放数据框:R中的比例缩放数据给出了错误错误“中心的长度”必须等于“x”的列数“
for(i in 1:nrow(data))
{
x <- data[i, ]
data[i, ] <- scale(x, min(x), max(x)-min(x))
}
Data:
x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17
15 6 6 0 9 3 1 4 5 1 1 13 0 0 20 5 28
2 24 14 7 0 15 7 0 11 3 3 4 15 7 0 30 0 344
3 10 5 2 0 6 2 0 5 0 0 2 7 1 0 11 0 399
4 9 4 2 0 5 2 0 4 0 0 2 6 1 0 10 0 28
5 6 2 1 0 3 1 0 2 0 0 1 3 1 0 6 0 82
6 9 4 2 0 5 2 0 4 0 0 2 6 1 0 10 0 42
但我收到以下错误消息:
Error in scale.default(x, min(x), max(x) - min(x)) (from #4) :
length of 'center' must equal the number of columns of 'x'
感谢做到这一点。但是当我将scale函数的输出分配给某个变量时,我无法提取数据部分。我认为scale函数输出中还有其他几个属性。 – Shahzad
@Shahzad你的数据是一个有2个额外属性的矩阵。例如,你可以使用'as.vector(data)'来移除它们。 – agstudy
@Shahzad他们真的在路上?您可以使用'attributes(x)< - list(dim = dim(x))' –