Scale函数返回:FUN中的错误(x,aperm(数组(STATS,dims[perm]),order(perm)),…)
试图训练神经网络,但我无法正常化我的数据 定义缩放的最大值和最小值很好Scale函数返回:FUN中的错误(x,aperm(数组(STATS,dims[perm]),order(perm)),…),r,dataframe,normalization,R,Dataframe,Normalization,试图训练神经网络,但我无法正常化我的数据 定义缩放的最大值和最小值很好 maxs <- apply(tour_weahter_data, 2, max) mins <- apply(tour_weahter_data, 2, min) 这是对函数的调用: scaled <- as.data.frame(scale(tour_weahter_data, center = mins, scale = maxs - mins)) scale您应该将scale与numeri
maxs <- apply(tour_weahter_data, 2, max)
mins <- apply(tour_weahter_data, 2, min)
这是对函数的调用:
scaled <- as.data.frame(scale(tour_weahter_data, center = mins, scale = maxs - mins))
scale您应该将scale
与numeric
变量一起使用,因此只能与数值变量一起使用
这里有一种使用dplyr
的方法
library(dplyr)
vars_scale <- tour_weahter_data %>%
select_if(is.numeric) %>%
colnames()
scale_min_max <- function(x) scale(x, center = min(x), scale = max(x) - min(x))
tour_weahter_data %>%
mutate_at(vars_scale, scale_min_max)
## A tibble: 6 x 7
# Start[,1] Time_Starting Station_ID[,1] Duration[,1]
# <dbl> <dttm> <dbl> <dbl>
#1 0 2016-07-07 13:00:00 0.776 0.533
#2 0.2 2016-07-07 13:00:00 0.379 0.4
#3 0.4 2016-07-07 13:00:00 0.776 1
#4 0.6 2016-07-07 13:00:00 0 0.4
#5 0.8 2016-07-07 13:00:00 1 0.4
#6 1 2016-07-07 13:00:00 0.276 0
## ... with 3 more variables: Distance[,1] <dbl>,
## Temperatur[,1] <dbl>, Humidity[,1] <dbl>
库(dplyr)
vars_比例%
如果(是数值)%>%,请选择
colnames()
比例\最小值\最大值%
在(变量刻度、刻度最小值和最大值)变化
##一个tibble:6x7
#开始[,1]时间\u开始站\u ID[,1]持续时间[,1]
#
#1 0 2016-07-07 13:00:00 0.776 0.533
#2 0.2 2016-07-07 13:00:00 0.379 0.4
#3 0.4 2016-07-07 13:00:00 0.776 1
#4 0.6 2016-07-07 13:00:00 0 0.4
#5 0.8 2016-07-07 13:00:00 1 0.4
#6 1 2016-07-07 13:00:00 0.276 0
## ... 还有3个变量:距离[,1],
##温度[1],湿度[1]
是的,日期时间是个问题。谢谢,我就是这样做的,不包括前两匹。现在它起作用了。您可以使用cbind
绑定它们。例如,cbind(tour_weahter_data[,1:2],scaled)
ok,但我可以确保我将数据正确绑定,再次表示相同的行吗?@JensKrüger因为您使用的函数是矢量化的,它们不会改变行顺序,所以不用担心这一点。但是您可以设置行名
并进行检查。
library(dplyr)
vars_scale <- tour_weahter_data %>%
select_if(is.numeric) %>%
colnames()
scale_min_max <- function(x) scale(x, center = min(x), scale = max(x) - min(x))
tour_weahter_data %>%
mutate_at(vars_scale, scale_min_max)
## A tibble: 6 x 7
# Start[,1] Time_Starting Station_ID[,1] Duration[,1]
# <dbl> <dttm> <dbl> <dbl>
#1 0 2016-07-07 13:00:00 0.776 0.533
#2 0.2 2016-07-07 13:00:00 0.379 0.4
#3 0.4 2016-07-07 13:00:00 0.776 1
#4 0.6 2016-07-07 13:00:00 0 0.4
#5 0.8 2016-07-07 13:00:00 1 0.4
#6 1 2016-07-07 13:00:00 0.276 0
## ... with 3 more variables: Distance[,1] <dbl>,
## Temperatur[,1] <dbl>, Humidity[,1] <dbl>