我有一个包含4列的数据文件,如下所示:
fid iid phen sig
0002 0002 -.268465 0
0005 0005 -.033474 0
0081 0081 .2921848 0
0091 0091 1.836548 1
0094 0094 .9888859 1
0095 0095 -.1503887 0
'phen'列中的值具有leptokurtic分布。我想规范化此列中的值。
我使用data <- read.table('phenfile.txt')
将数据读入R.我尝试了一些将执行分位数归一化的包。 'cape'包(norm.pheno
函数)返回错误消息(dim(X) must have a positive length
),'preprocessCore'包(normalize.quantiles
函数)需要矩阵作为输入。
R中是否还有其他软件包/函数可用于完成文档中单列值的分位数规范化?
非常感谢任何输入。
答案 0 :(得分:0)
source("https://bioconductor.org/biocLite.R")
biocLite("preprocessCore")
x <- data.frame(fid = c("0002", "0005", "0081", "0091", "0094", "0095"),
iid = c("0002", "0005", "0081", "0091", "0094", "0095"),
phen = c(-.268465, -.033474, .2921848, 1.836548, .9888859,
-.1503887),
sig = c(0, 0, 0, 1, 1, 0))
我不熟悉其中任何一个软件包,但是
normalize.quantiles(as.matrix(x[,"phen", drop = FALSE]))
[,1]
[1,] -0.2684650
[2,] -0.0334740
[3,] 0.2921848
[4,] 1.8365480
[5,] 0.9888859
[6,] -0.1503887
适合我。不确定它是否提供了您想要的标准化。