簡體   English   中英

尋找 R 中的代碼以 ____H 或 ____D 總結?

[英]Looking for code in R to summarize by ____H or ____D?

我有一個包含每個樣本的 ASV 的圖表,樣本按數字(樣本)和對應於人類或狗的字母排序。 我正在嘗試查看哪些 ASV 僅存在於人類或僅存在於狗中。 我對如何做到這一點的想法是按狗或人對所有行求和,忽略單個樣本,並查看 0 或大於零的值。

我不確定代碼,已經嘗試了一些東西,但都沒有奏效。 主要使用 phyloseq 和 DESeq2。 這是我使用的表格,有 11,000 個 ASV 樣本。

我有點困惑行名和列名代表什么,但我給了它一個 go。 如果這不是你的意思,請糾正我。

data.table package 有一個整潔的 function, melt( ) ,允許您將數據從寬格式轉換為長格式。 這將使您更容易分析和總結您的價值觀。

library(data.table)

data <- data.table(
  `ASV_ID` = c(3,5,6,7,10,11,12,14,15,16,20),
  `2104H` = c(0,353,483,305,289,200,0,0,0,284,406),
  `2104D` = c(470,39,43,427,48,488,356,390,482,0,0),
  `2105H` = c(0,784,816,0,704,100,0,0,0,158,141),
  `2105D` = c(0,0,0,0,0,0,0,0,0,0,0))

data
    ASV_ID 2104H 2104D 2105H 2105D
 1:      3     0   470     0     0
 2:      5   353    39   784     0
 3:      6   483    43   816     0
 4:      7   305   427     0     0
 5:     10   289    48   704     0
 6:     11   200   488   100     0
 7:     12     0   356     0     0
 8:     14     0   390     0     0
 9:     15     0   482     0     0
10:     16   284     0   158     0
11:     20   406     0   141     0

data2 <- melt(
  data = data,
  id.vars = c("ASV_ID"),
  measure.vars = c("2104H","2104D","2105H","2105D"),
  variable.name = "sample",
  value.name = "value")


data2[,.(Sum = sum(value)),by=.(sample)]
   sample  Sum
1:  2104H 2320
2:  2104D 2743
3:  2105H 2703
4:  2105D    0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM