我想创建一个新的名为百分比的列,并按数据框将其添加到其中。此列应由每行除以常数13197并乘以100组成。有人可以帮助完成此任务吗?
这是我数据框的头。
Var1 Freq
1 01085 6
2 01602 34
3 01845 31
4 03824 1
5 04011 16
6 04102 2
答案 0 :(得分:2)
df$percent <- 100*df$freq/13197
答案 1 :(得分:2)
最简单的方法是使用dplyr
library(dplyr)
df <- mutate(df, perc = Freq/sum(Freq) * 100)
这将避免您必须除以一个常数(而是将其除以名为“ Freq”的列的总和)。
如果需要常量,代码将为:
df <- mutate(df, perc = Freq/13197 * 100)
当然,除了使用软件包外,您还可以在base R中使用
df$perc = df$Freq/13197 * 100)
答案 2 :(得分:1)
df$percentage <- (df$Var1) * (df$Freq) * (100) / (13197)
您可以直接参考新列,并以此方式进行分配。我假设您需要将(df $ Var1)乘以它的频率。