繁体   English   中英

正态分位数转换

[英]normal quantile transformation

我需要在R中进行分位数归一化

输入文件只是我有5000多个值的一小部分:

x <- data.frame(A =c(193973, 185750, 185511,NA), B= c(56433,52298, 53040, NA), C = c(4668, 6074,6246, NA))

我正在使用的软件推荐

xtransformed = qqnorm(x, plot.it =F)$x

我到底不明白“ $ x”?

另一个问题是:

如果输入是(这是我的实际输入

x <- data.frame(A =c("A","B","C","D"), B = c("X", "Y", "Z","L"), C=c(193973, 185750, 185511, "NA"), D = c(56433,52298, 53040, "NA"), E = c(4668, 6074,6246, "NA"))

我只选择要转换的列

y =x[,3:5]

用该代码对其进行了转换,它不起作用吗? 是什么原因

ytransformed <- qqnorm(y, plot.it =F)$y

ytransformed 

我做到了 现在,我想绘制并查看它是否已转变? 我怎样才能做到这一点?

Bioconductor中的preprocessCore软件包具有此功能。 首先安装并加载它:

source('http://bioconductor.org/biocLite.R')
biocLite('preprocessCore')
library(preprocessCore)

然后在数据框中创建一个矩阵,并进行normalize.quantiles

> x <- data.frame(A =c(193973, 185750, 185511,NA), B= c(56433,52298, 53040, NA), C = c(4668, 6074,6246, NA))
> m <- data.matrix(x,rownames.force=nrow(x))
> normalize.quantiles(m)
         [,1]     [,2]     [,3]
[1,] 85550.67 85550.67 80825.67
[2,] 82143.61 80825.67 82143.61
[3,] 80825.67 82143.61 85550.67
[4,]       NA       NA       NA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM