R 独特特征频率

R 独特特征频率,r,R,我试图找到一个独特的基因在样本中被发现的次数及其各自的pvalue df1 <- read.table(text=" Gene id Seg.mean pValue CNA Nfib 8410 0.3108 1.381913 gain Mycl 8410 2.7320 1.182842 gain M

我试图找到一个独特的基因在样本中被发现的次数及其各自的pvalue

df1 <-  read.table(text="
        Gene        id           Seg.mean    pValue    CNA
         Nfib       8410          0.3108     1.381913 gain
         Mycl       8410          2.7320     1.182842 gain
         Mycl       8410          2.7320     1.846275 gain
         Nfib       8411          0.5920     1.381913 gain
         Nfib       8411          1.3090     1.381913 gain
         Mycl       8412          1.6150     5.765442 gain
         Mycl       8411          1.6150     1.846275 gain
",header=TRUE)

我认为您可以使用data.table非常接近您想要实现的结果:

library(data.table)

df1<-data.table(df1)
df1[,
list(ID = paste(unique(id), collapse=','),
     "Freq. of id"=length(unique(id)), 
     pValue=paste(unique(pValue), collapse=",")),
keyby=list(Gene)]
库(data.table)
df1sol'n:
结果:
细分:
  • 我们希望对
    基因
    (分析单位)进行评估,因此
    按(基因)
    分组
  • 然后创建与
    paste0(var,collapse=“,”)
    相对应的新变量。这是根据
    基因应用的
    
  • 计算不同ID的数量。根据
    基因
    再次应用
    @托斯皮格,是的。这将使我们更好地了解数据。如果有多个p值和ID,您希望它们位于数据帧的同一行、同一列还是跨多个列?@tospig..不同的列就可以了
    library(data.table)
    
    df1<-data.table(df1)
    df1[,
    list(ID = paste(unique(id), collapse=','),
         "Freq. of id"=length(unique(id)), 
         pValue=paste(unique(pValue), collapse=",")),
    keyby=list(Gene)]
    
    library(dplyr)
    
    df1 %>% 
      group_by(Gene) %>% 
      summarise(ID = paste0(unique(id), collapse=", "),
                pval = paste0(unique(pValue),collapse=", "), 
                n = n_distinct(id))
    
      Gene               ID                         pval n
    1 Mycl 8410, 8412, 8411 1.182842, 1.846275, 5.765442 3
    2 Nfib       8410, 8411                     1.381913 2
    
    library(plyr)
    > ddply(data.frame(df1), .(Gene), summarise,ID=paste(unique(id), collapse=","),pValue=paste(unique(pValue), collapse=","),Freq = length(unique(id)))
      Gene             ID                     pValue Freq
    1 Mycl 8410,8412,8411 1.182842,1.846275,5.765442    3
    2 Nfib      8410,8411                   1.381913    2