使用 mutate() 创建循环以按列获取百分比值
Create a loop with mutate() in order to get percentage values by column
为了做一个 ACP,我只需要对下面的数据(虚拟数据)进行“百分比化”。
A <- c(1,3,4,5,2,3,4,1,3)
B <- c(1,3,7,3,7,3,7,3,6)
df <- data.frame(A, B)
df_2 <- mutate(df, A_perc = A/sum(df$A)) %>%
mutate(df, B_PERC = B/sum(df$B))
我不想使用比例函数对数据进行归一化。
因为我有多个列,所以我尝试编写一个循环,但这是行不通的。如果您有任何建议,请先谢谢您
for(i in 1:length(samples)) {
df_2 <- mutate(df, samples[[i]]/sum(samples[[i]]))
}
mutate(df, across(everything(), ~.x/sum(.x)))
顺便说一句,当您使用 mutate
时,您不需要使用 $
来引用列,提供列名就足够了。
为了做一个 ACP,我只需要对下面的数据(虚拟数据)进行“百分比化”。
A <- c(1,3,4,5,2,3,4,1,3)
B <- c(1,3,7,3,7,3,7,3,6)
df <- data.frame(A, B)
df_2 <- mutate(df, A_perc = A/sum(df$A)) %>%
mutate(df, B_PERC = B/sum(df$B))
我不想使用比例函数对数据进行归一化。 因为我有多个列,所以我尝试编写一个循环,但这是行不通的。如果您有任何建议,请先谢谢您
for(i in 1:length(samples)) {
df_2 <- mutate(df, samples[[i]]/sum(samples[[i]]))
}
mutate(df, across(everything(), ~.x/sum(.x)))
顺便说一句,当您使用 mutate
时,您不需要使用 $
来引用列,提供列名就足够了。