我有data.frame
个变量var1
var2
(两个字符串)和变量x
,y
和z
。我想将变量x
,y
和z
归一化,将它们全部除以它们各自的第一个元素。
我试过了:
df_ %>%
mutate_at(c("x", "y", "z"), funs(./.[1])) %>% head()
但是,这会将整个列设置为1.如何通过第一个元素实现它?
其次,将规范化数据框添加为变量x_norm
,y_norm
,z_norm
的最佳方法是什么?
非常感谢,如果您需要进一步的信息,请告诉我。
答案 0 :(得分:3)
属性或分组变量可能存在问题。我们可以通过转换为mutate_at
然后执行df_ %>%
as.data.frame %>%
mutate_at(vars(x, y, z), funs(norm = ./.[1]))
{{1}}