相关疑难解决方法(0)

如何拆分数据框?

我想将数据框分成几个较小的数据框.这看起来像一个非常微不足道的问题,但我找不到网络搜索的解决方案.

split r dataframe r-faq

70
推荐指数
6
解决办法
20万
查看次数

ifelse每次都真的计算它的两个向量吗?它慢吗?

难道ifelse真的同时计算yesno载体-如,每个向量的全部?或者它只是从每个向量计算一些值?

还有,ifelse真的那么慢吗?

performance if-statement r vectorization

62
推荐指数
1
解决办法
2791
查看次数

n中的ntile和cut之间的差异然后是R中的quantile()函数

我发现了两个线程对这个话题在R.计算十分位数然而,这两种方法,即dplyr::ntilequantile()产生不同的输出.实际上,dplyr::ntile()无法输出正确的十分位数.

方法1:使用ntile()R:将数据集拆分为四分位数/十分位数.什么是正确的方法?线程,我们可以使用ntile().

这是我的代码:

vector<-c(0.0242034679584454, 0.0240411606258083, 0.00519255930109344, 
  0.00948031338483081, 0.000549450549450549, 0.085972850678733, 
  0.00231687756193192, NA, 0.1131625967838, 0.00539244534707915, 
  0.0604885614579294, 0.0352030947775629, 0.00935626135385923, 
  0.401201201201201, 0.0208212839791787, NA, 0.0462887301644538, 
  0.0224952741020794, NA, NA, 0.000984952654008562)

ntile(vector,10)
Run Code Online (Sandbox Code Playgroud)

输出是:

ntile(vector,10)
5  5  2  3  1  7  1 NA  8  2  7  6  3  8  4 NA  6  4 NA NA  1
Run Code Online (Sandbox Code Playgroud)

如果我们分析这个,我们看到没有第10个分位数!

方法2:使用quantile() 现在,让我们使用如何通过在数据框线程中对列进行排序来快速形成组(四分位数,十分位数等)中的方法.

这是我的代码:

as.numeric(cut(vector, breaks=quantile(vector, probs=seq(0,1, length  = 11), na.rm=TRUE),include.lowest=TRUE))
Run Code Online (Sandbox Code Playgroud)

输出是:

 7  6  2  4  1 …
Run Code Online (Sandbox Code Playgroud)

r dplyr

14
推荐指数
1
解决办法
1万
查看次数

R:将数据集拆分为四分位数/十分位数.什么是正确的方法?

我是R的新手,所以我希望能得到一些关于如何实现所需数据操作的指针.

我有一个包含三个变量的数据数组.

  gene_id       fpkm  meth_val
1 100629094     0.000 0.0063
2 100628995     0.000 0.0000
3 102655614   111.406 0.0021
Run Code Online (Sandbox Code Playgroud)

在根据fpkm将我的gene_ids分层为四分位数或十分位数之后,我想绘制平均的meth_val.

一旦我将数据加载到数据帧中......

data <- read.delim("myfile.tsv", sep='\t')
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法确定fpkm十分位数:

quantile(data$fpkm, prob = seq(0, 1, length = 11), type = 5
Run Code Online (Sandbox Code Playgroud)

产量

          0%          10%          20%          30%          40%          50%
0.000000e+00 9.783032e-01 7.566164e+00 3.667630e+01 1.379986e+02 3.076280e+02
         60%          70%          80%          90%         100%
5.470552e+02 8.875592e+02 1.486200e+03 2.974264e+03 1.958740e+05
Run Code Online (Sandbox Code Playgroud)

从那里开始,我想基于fpkm_val是否适合这些十分之一,将数据帧基本上分成10组.然后我想在ggplot中绘制每个十分位数的meth_val作为一个箱形图并在十进制中执行统计测试.

我真正坚持的主要问题是如何以正确的方式分割我的数据集.任何帮助将非常感谢!

谢谢你!

plot r dataframe

10
推荐指数
2
解决办法
4万
查看次数

标签 统计

r ×4

dataframe ×2

dplyr ×1

if-statement ×1

performance ×1

plot ×1

r-faq ×1

split ×1

vectorization ×1