Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scale函数返回:FUN中的错误(x,aperm(数组(STATS,dims[perm]),order(perm)),…)_R_Dataframe_Normalization - Fatal编程技术网

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>