我有一个名单-0.5,-0.6,0.7,1,1.5,3,-5,我想将它作为排序3,-5,1.5,-0.6,1,-0.5,0.7.换句话说,我想将列表分为正面和负面列表,然后将它们从最大到最小排序,但是交替排序.
我怎样才能做到这一点?
我有一个包含startValue(在 列X1)和endValue(在 列X2)的数据框,以及异常值列表。我需要计算有多少异常值属于这些特定的startValue和endValue。这是一个最小的例子和我的尝试:
library("dplyr")
set.seed(2022)
dat = data.frame(matrix(sort(sample(1:500, 50)), ncol = 2, byrow = T))
dim(dat)
dat$Outliers = NA
outliers = sort(sample(1:500, 30))
for (i in 1:25){
dat$Outliers[i] = length(which(between(outliers, dat$X1[i], dat$X2[i]) == T))
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常。但我的真实数据有数百万行,这个for循环需要很多时间。有没有更快的方法来解决这个问题?
如何提取每个密度图的值矩阵?
例如,我感兴趣的是,当重量= 71时,橙子、苹果、梨、香蕉的密度是多少?
下面是最小的例子:
library(ggplot2)
set.seed(1234)
df = data.frame(
fruits = factor(rep(c("Orange", "Apple", "Pears", "Banana"), each = 200)),
weight = round(c(rnorm(200, mean = 55, sd=5),
rnorm(200, mean=65, sd=5),
rnorm(200, mean=70, sd=5),
rnorm(200, mean=75, sd=5)))
)
dim(df) [1] 800 2
ggplot(df, aes(x = weight)) +
geom_density() +
facet_grid(fruits ~ ., scales = "free", space = "free")
Run Code Online (Sandbox Code Playgroud)