使用 dplyr 规范化数据框列的选择

clo*_*g14 2 r dplyr mutate

我有一个data.framewith 变量var1 var2(两个字符串)和变量x, y, 和z。我想规范化 variables xy并将z它们全部除以它们各自的第一个元素。

我试过:

df_ %>% 
  mutate_at(c("x", "y", "z"), funs(./.[1])) %>% head()
Run Code Online (Sandbox Code Playgroud)

但是,这将整列设置为 1。我怎样才能实现它除以第一个元素?

其次,什么是归一化添加到数据帧作为变量的最佳方式x_normy_normz_norm

非常感谢,如果您需要更多信息,请告诉我。

akr*_*run 5

这可能是属性或分组变量的问题。我们可以通过转换为重置没有外部属性的数据集data.frame,然后执行mutate_at

df_ %>% 
   as.data.frame %>%
   mutate_at(vars(x, y, z), funs(norm = ./.[1]))
Run Code Online (Sandbox Code Playgroud)