【发布时间】:2014-08-05 04:54:14
【问题描述】:
我确定这很简单,但我是 R 新手(比如 30 分钟新)并且仍然摸不着头脑。
我有五列。我想按 a 和 b 列的组合(a 是染色体,b 是基因座)对数据进行排序,然后对 sample1、sample2 和 sample3 列的值进行平均以提供文本输出。
到目前为止,我有以下几点,但我认为我的均值计算让我失望了
#Import the data as a data frame
df = read.table("mydata.txt")
#Make sure its there
summary(df)
#Make sure data is sorted by chromosome and by locus.
df = df[order(df[[1]], df[[2]]), ]
#Take the control samples and average each row for three columns excluding the first two columns- add the per row means to the data frame
dfmns <- rowMeans( df[ , c("sample1", "sample2", "sample3")] )
样本数据如下:
chr leftPos strand JWA JWB JWC JWD OE33_F
chr1 100202137 + 2 0 1 0 0
chr1 100260304 - 141 62 75 55 20
chr1 100724039 - 0 1 0 0 0
我愿意
chr leftPos strand JWA JWB JWC JWD OE33_F Means
chr1 100202137 + 2 0 1 0 0 0.6
chr1 100260304 - 141 62 75 55 20 70.6
chr1 100724039 - 0 1 0 0 0 0.2
我认为代码在 order 函数中失败,因为我可能没有正确引用列?
【问题讨论】:
-
是什么让您认为计算错误?我们没有输入数据,因此我们不知道这些代码正在重新调整什么或您期望什么。
-
为了从我们那里获得更好的帮助(正如@MrFlick 开始说的那样),请阅读有关制作reproducible example 的内容,包括为我们提供一个有代表性的数据集和输出,表明您想要什么以及您是什么得到。
-
chr leftPos strand JWA JWB JWC JWD OE33_F chr1 100202137 + 2 0 1 0 0 chr1 100260304 - 141 62 75 55 20 chr1 100724039 - 0 1 0 0 0
-
前 3 个样本是 JWA JWB JWC 是吗?如何从 c(2,0,1) 中得到 2 的平均值?
-
@user3632206。您发布的示例和代码不同。目前尚不清楚哪些列是“sample1:sample3”。我尝试使用列的组合,但无法获得“平均值”输出。
标签: r