R 如何基于此数据帧子集的值计算列的比率?
我有以下数据框:R 如何基于此数据帧子集的值计算列的比率?,r,dplyr,R,Dplyr,我有以下数据框: date value country 2016-10-1 1 US 2016-10-1 3 FR 2016-10-1 4 Other 2016-10-2 3 US 2016-10-2 2 FR 以下是可复制的示例: mydf <- data.frame( date=c("2016-10-01","2016-
date value country
2016-10-1 1 US
2016-10-1 3 FR
2016-10-1 4 Other
2016-10-2 3 US
2016-10-2 2 FR
以下是可复制的示例:
mydf <- data.frame(
date=c("2016-10-01","2016-10-01","2016-10-01","2016-10-02","2016-10-02"),
value=c(1,3,4,3,2),
country=c("US", "FR", "Other", "US", "FR"))
我试过这样的方法:
mydf <- mydf %>% mutate(ratio = value / sum(mydf[date==date]))
mydf%变异(比率=值/总和(mydf[date==date]))
但是,这并不奇怪,它不会运行。我不知道如何计算给定日期的总数
有线索吗 你的问题的答案是
df %>% group_by(date) %>% mutate(ratio = value/sum(value))
你问题的答案是
df %>% group_by(date) %>% mutate(ratio = value/sum(value))
试试
groupby(mydf,date)%%>%mutate(ratio=value/sum(value))
Trygroupby(mydf,date)%%>%mutate(ratio=value/sum(value))
该死,太简单了,我都错过了。谢谢;)使用mean
代替此value/sum(value)
为什么使用mean?这不是平均值,而是一个比率,不是吗?如果你希望计算出的值是其他国家价值与美国价值之间的比率,你会怎么做?因此,对我们来说,新的价值将是1,而对其他国家来说,这将是他们当年的价值除以美国当年的价值。这似乎是一个非常相似的问题。妈的,太简单了,我错过了。谢谢;)使用mean
代替此value/sum(value)
为什么使用mean?这不是平均值,而是一个比率,不是吗?如果你希望计算出的值是其他国家价值与美国价值之间的比率,你会怎么做?因此,对我们来说,新的价值将是1,而对其他国家来说,这将是他们当年的价值除以美国当年的价值。这似乎是一个非常相似的问题。