【问题标题】:Converting matrix data frame to a list but I can't the same entry data to iNEXT将矩阵数据框转换为列表,但我不能将相同的条目数据转换为 iNEXT
【发布时间】:2022-07-26 12:32:29
【问题描述】:

我正在尝试转换这样的矩阵数据帧(低地):

     species DT1 DT3 DT6 DT7 DT12 DT13 DT14 DT15 DT28 DT29
1  M_vaccinifolia   0   0   0   0    0    0    1    0    0    1
2  M_vaccinifolia   0   0   0   0    0    0    0    0    0    1
3  M_vaccinifolia   0   0   0   0    0    0    0    0    0    1
4  M_vaccinifolia   0   0   0   0    0    0    0    0    0    1
5  M_vaccinifolia   0   0   0   0    0    0    0    0    0    1
6  M_vaccinifolia   0   0   0   0    0    0    0    0    0    1
7  M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
8  M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
9  M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
10 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
11 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
12 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
13 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
14 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
15 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
16 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
17 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
18 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
19 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
20 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
21 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
22 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
23 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0
24 M_vaccinifolia   0   0   0   0    0    0    0    0    0    0

并且我想转换为一个列表,我可以输入数据,因为 iNEXT 数据“纤毛虫”列表用于执行稀疏曲线中的示例(示例在“RAW INCIDENCE DATA FUNCTION:incident_raw”部分中的示例链接:https://cran.r-project.org/web/packages/iNEXT/vignettes/Introduction.html。以下是列表的解释方式:

 command
str(ciliates$EtoshaPan)


int [1:365, 1:19] 0 0 0 0 0 0 0 0 0 0 ...
 - attr(*, "dimnames")=List of 2
  ..$ : chr [1:365] "Acaryophrya.collaris" "Actinobolina.multinucleata.n..sp." "Afroamphisiella.multinucleata.n..sp." "Afrothrix.multinucleata.n..sp." ...
  ..$ : chr [1:19] "x53" "x54" "x55" "x56" ...

当我转换我的数据低地时,我可以达到这种列表

     lowland_list <- list(lowland)
    str(lowland_list)



    List of 1
 $ :'data.frame':   24 obs. of  11 variables:
  ..$ species: chr [1:24] "M_vaccinifolia" "M_vaccinifolia" "M_vaccinifolia" "M_vaccinifolia" ...
  ..$ DT1    : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT3    : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT6    : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT7    : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT12   : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT13   : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT14   : int [1:24] 1 0 0 0 0 0 0 0 0 0 ...
  ..$ DT15   : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT28   : int [1:24] 0 0 0 0 0 0 0 0 0 0 ...
  ..$ DT29   : int [1:24] 1 1 1 1 1 1 0 0 0 0 ...

以 iNEXT 为例,什么不是正确的输入数据格式。 我花了很多时间试图制作一个列表来输入这些数据,但我无法弄清楚。我该怎么做?

【问题讨论】:

    标签: r arrays list inext


    【解决方案1】:

    不确定这是否有帮助,但我有 2 个数据帧,它们位于物种列和站点行(datA 和 datB)中。 这是一些示例代码。

    创建一个空列表:

    datlist <- list()
    datlist$A <- data.frame(t(datA))
    datlist$B <- data.frame(t(datB))
    

    然后运行 ​​iNEXT

    iNEXT(datlist
          , q = c(0, 1, 2)
          , "incidence_raw"
          , conf = 0.95
          , se = TRUE
          , knots = 200
          , nboot = 200
          )
    

    【讨论】:

      猜你喜欢
      • 2021-11-12
      • 1970-01-01
      • 1970-01-01
      • 2022-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多