【问题标题】:How to split the quantile results in 5 different data frames?如何将分位数结果拆分为 5 个不同的数据帧?
【发布时间】:2018-06-27 19:44:54
【问题描述】:

我在数据帧中运行quantile 函数,当我得到分位数的结果时,我希望将这些结果放在独立的数据帧中以分别处理它们,例如添加或减去一些分位数结果到其他值等。

这里是一个非常简单的例子:

quantile(x <- rnorm(1001))

   0%          25%          50%          75%         100% 
  -2.930587810 -0.687108751  0.004405246  0.644589258  2.839597566 

如何在不同的数据框中得到结果?

我想要得到的是将分位数结果细分为 5 个独立的结果(数据框) 例如:

Q0<-2.9305878 Q1<-0.687108751 Q2<-0.00440524 Q3<-0.644589258  Q4<-2.839597566

【问题讨论】:

  • 可能是lapply(quantile(rnorm(100)), data.frame)?
  • 感谢您的评论。我想要的是有 5 个不同的数据帧,每个值一个。 Q0、Q1、Q2、Q3、Q4。有什么想法吗?
  • 您可以添加或减去它们,同时将它们保存在向量中。例如q &lt;- quantile(x &lt;- rnorm(1001)); 342 - q[2]
  • 谢谢。这也是一个很好的解决方案。

标签: r quantile


【解决方案1】:

您正在寻找:

list2env(setNames(as.list(quantile(x <- rnorm(1001))),paste0("Q",1:5)),.GlobalEnv)

现在你可以写Q1,它就会出现。

【讨论】:

  • 类似想法:x&lt;-rnorm(100);mapply(x = paste0('Q',1:5), y = quantile(x), FUN = function(x,y) assign(x,y, envir = .GlobalEnv))
猜你喜欢
  • 1970-01-01
  • 2013-11-16
相关资源
最近更新 更多