r - 标准化应用于数据框的数据的函数出错

标签 r function normalization

我已经从 UCI 机器学习存储库下载了自行车共享数据集,并尝试在 R 中实现多元线性回归。以下是数据格式:

> head(data1)
  season mnth hr holiday weekday workingday weathersit temp  atemp  hum windspeed cnt
1      1    1  0       0       6          0          1 0.24 0.2879 0.81    0.0000  16
2      1    1  1       0       6          0          1 0.22 0.2727 0.80    0.0000  40
3      1    1  2       0       6          0          1 0.22 0.2727 0.80    0.0000  32
4      1    1  3       0       6          0          1 0.24 0.2879 0.75    0.0000  13
5      1    1  4       0       6          0          1 0.24 0.2879 0.75    0.0000   1
6      1    1  5       0       6          0          2 0.24 0.2576 0.75    0.0896   1

我正在尝试使用以下函数规范化特定列(尚未规范化):

normalize <- function(x) {
  return ((x - min(x)) / (max(x) - min(x)))
}

问题是当我运行时:

 dfNorm <- as.data.frame(lapply(data1["season", "mnth", "hr", "weekday", "weathersit"], normalize)) 

我收到以下错误:

Error in [.data.frame(data1, "season", "month", "hour", "weekday", "weathersit") : unused arguments ("weekday", "weathersit")

为什么我会收到此错误以及如何修复它?

最佳答案

要就地修改,我将使用dplyr::mutate。像这样的东西应该有效:

library(dplyr)
dfNorm <- data1 %>% 
  mutate_at(.vars = vars(season, mnth, hr, weekday, weathersit),
            .funs = funs(normalize))

关于r - 标准化应用于数据框的数据的函数出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46186923/

相关文章:

r - 运行 R 函数时如何暂停每个绘图

r - 具有相应颜色的两个图例的散点图

r - R ggplot2中连续轴上的字符值

numpy - RGB 图像的每 channel 归一化

R:multicool 编译失败

python - 从另一个文件导入变量以在 python 中运行

c++ - c++ std::bind 返回值如何分配给 std::function?

c++ - 传递重载成员函数的函数指针?

database - 正确地将表放入 4NF?

sql - 用户表到用户和用户首选项。这是标准化的吗?