r - R 一个变量的累积总和,而另一个变量跟踪“截止”
问题描述
请原谅我的问题的奇怪之处。这是构建它的最合乎逻辑的方式。真的,我不在乎花。
最终我想做的是找到超过花瓣宽度/花瓣长度的每个“临界值”的鸢尾花萼片长度的总和。
考虑以下代码
library(tidyverse)
data("iris")
iris <- iris %>%
mutate(prop_width_length = Petal.Width/Petal.Length)
prop_width_length <- as.data.frame(iris$prop_width_length)
portion = as.data.frame(seq(0,1,0.001))
cumsum = NULL
for (i in 1:1001) {
cumsum[i] = sum(prop_width_length >= portion[i,1])
}
sigportion <- cbind(portion, cumsum)
这给了我有多少鸢尾花的宽度/长度比例大于或等于每个“临界值”的累积总和。最后它把它放在一个数据框中,这样我就可以制作一个漂亮的 ggplot。基本上,它计算每个“临界值”上有多少花。
除了上述代码之外,我还想将每个虹膜的所有萼片长度相加,其中它们的花瓣宽度/长度比大于或等于存储我的部分变量的每个“临界值”。
所以像
sum all the sepal lengths of iris flowers which have petal width/length >= critvalue
解决方案
它变得很容易data.table
library(data.table)
iris<-as.data.table(iris)
iris[,prop_width_length := Petal.Width/Petal.Length]
portion<-as.data.table(seq(from = 0,to = 1,by = 0.001))
cumsum<-vector()
for(i in 1:nrow(portion)){
cumsum[i]<-iris[prop_width_length >= portion[[1]][i],sum(Sepal.Length)]
}
sigportion<-cbind(portion,cumsum)
希望有帮助!
推荐阅读
- android - 使用 EncryptedSharedPreferences 时获取 java.lang.ClassCastException
- javascript - React、Apollo、Shopify Polaris:出现 TypeError:rows.map 不是函数。(在 'rows.map(this.defaultRenderRow)' 中,'rows.map' 未定义)
- android - Google Play 结算:未完成的购买不可用于订阅?
- php - 如何在 Blade 上检查会话值
- amazon-web-services - 如何在 zsh 中设置 s3 复制命令
- apache-kafka - Kafka 多个消费者组不同的线程未按预期工作
- python - Python 将字典值映射到 XML 文件
- python - 代码仅返回 if 语句,忽略其他所有内容
- powershell - 带有 File-Out 参数的复制项
- r - 如何避免 kable 表中的行值?