gpt4 book ai didi

r - 如何按总和标准化数据帧值(获取百分比)

转载 作者:行者123 更新时间:2023-12-04 23:05:54 27 4
gpt4 key购买 nike

我有以下数据框:

> str(df)
'data.frame': 52 obs. of 3 variables:
$ n : int 10 20 64 108 128 144 256 320 404 512 ...
$ step : Factor w/ 4 levels "Step1","Step2",..: 1 1 1 1 1 1 1 1 1 1 ...
$ value: num 0.00178 0.000956 0.001613 0.001998 0.002975 ...

现在我想标准化/划分 df$value通过属于相同 n 的值的总和,即这样我就可以得到百分比。这不起作用,但显示了我想要实现的目标。在这里,我将属于相同 n 的值的总和预先计算到 dfa 中,并尝试除以原始 df$value按总计 dfa$value与匹配 n :
dfa <- aggregate(x=df$value, by=list(df$n), FUN=sum)
names(dfa)[names(dfa)=="Group.1"] <- "n"
names(dfa)[names(dfa)=="x"] <- "value"
df$value <- df$value / dfa[dfa$n==df$n,][[1]]

最佳答案

我认为以下工作,使用包data.table .

df <- data.table(df)
df[,value2 := value/sum(value),by=n]

关于r - 如何按总和标准化数据帧值(获取百分比),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12145499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com