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

时间:2018-02-26 10:28:00

标签: r dplyr mutate

我有data.frame个变量var1 var2(两个字符串)和变量xyz。我想将变量xyz归一化,将它们全部除以它们各自的第一个元素。

我试过了:

df_ %>% 
  mutate_at(c("x", "y", "z"), funs(./.[1])) %>% head()

但是,这会将整个列设置为1.如何通过第一个元素实现它?

其次,将规范化数据框添加为变量x_normy_normz_norm的最佳方法是什么?

非常感谢,如果您需要进一步的信息,请告诉我。

1 个答案:

答案 0 :(得分:3)

属性或分组变量可能存在问题。我们可以通过转换为mutate_at然后执行df_ %>% as.data.frame %>% mutate_at(vars(x, y, z), funs(norm = ./.[1]))

来重置没有外部属性的数据集
{{1}}