R:quot&引用;:使用intersect时尺寸的数量不正确
因此,我基本上是在尝试计算数据集之间的差异,但出于某种原因,我收到以下错误:R:quot&引用;:使用intersect时尺寸的数量不正确,r,dataframe,intersection,R,Dataframe,Intersection,因此,我基本上是在尝试计算数据集之间的差异,但出于某种原因,我收到以下错误:“expr1[overlap]中的错误:维数不正确可能很简单,但我似乎无法修复它 我正在阅读4.RData文件。它们都包含dataframeExpr,其中包含大约54000行和10列数据。所有文件都有相同的列名,但列名不同,但在很大程度上它们是相同的,因此通过使用intersect,我计算重叠,但不知怎的,这并没有起到应有的作用 文件示例: file1: GSM10 GSM11
“expr1[overlap]中的错误:维数不正确可能很简单,但我似乎无法修复它
我正在阅读4.RData文件。它们都包含dataframeExpr
,其中包含大约54000行和10列数据。所有文件都有相同的列名,但列名不同,但在很大程度上它们是相同的,因此通过使用intersect,我计算重叠,但不知怎的,这并没有起到应有的作用
文件示例:
file1:
GSM10 GSM11
1007_s_at 7.777639 8.582393
1053_at 9.029875 7.937305
117_at 7.026750 6.271279
121_at 7.800896 7.842556
1255_g_at 3.472406 3.486788
1294_at 6.332505 6.176560
file2:
GSM10 GSM11
1007_s_at 8.471424 9.499584
1053_at 9.047367 7.981026
1255_g_at 4.231098 4.226397
1294_at 7.482370 7.289183
提前谢谢
守则的一部分:
data <- list()
load("file1")
data$old_fRMA <- expr
load("file2")
data$old_PMfRMA <- expr
#runTimeInfo
load("file3")
data$new_PMfRMA <- expr
load("file3")
data$new_fRMA <- expr
##
compare.fRMA <-
function(expr1, expr2, no_duplicate_probeset = no_duplicate_probeset) {
overlap <- intersect(rownames(expr1), rownames(expr2))
expr1 <- expr1[overlap,]
expr2 <- expr2[overlap,]
datalength <- length(colnames(expr1))
difference <-
sapply(1:datalength, function(x)
abs(expr1[x] - expr2[x]))
difference.max <- sapply(difference, max)
difference.mean <- sapply(difference, mean)
out <- list()
#### All probesets ####
out$maxall <- max(difference.max)
out$meanall <- mean(difference.mean)
#################
expr1 <- expr1[no_duplicate_probeset,]
expr2 <- expr2[no_duplicate_probeset,]
difference <-
sapply(1:datalength, function(x)
abs(expr1[x] - expr2[x]))
difference.max <- sapply(difference, max)
difference.mean <- sapply(difference, mean)
#### TG probesets ####
out$maxTG <- max(difference.max)
out$meanTG <- mean(difference.mean)
return(out)
}
res <- list()
for (i in 1:4) {
res[i] <- list()
for (j in (i + 1):4) {
if (j>4) { break()
}
# print(paste(i,j ,sep=","))
res[i][j] <- compare.fRMA(data[i], data[j])
}
}
数据使用debug(compare.fRMA)
很抱歉,我确实举了一个数据示例。您只提供了数据的打印形式,因此不容易复制数据。请阅读。