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文件。它们都包含dataframe
Expr
,其中包含大约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)
很抱歉,我确实举了一个数据示例。您只提供了数据的打印形式,因此不容易复制数据。请阅读。