gpt4 book ai didi

r - 我如何获得列联表?

转载 作者:行者123 更新时间:2023-12-03 11:04:56 24 4
gpt4 key购买 nike

我正在尝试从特定类型的数据创建列联表。这对于循环等是可行的......但是因为我的最终表格将包含超过 10E5 个单元格,我正在寻找一个预先存在的函数。

我的初始数据如下:

PLANT                  ANIMAL                          INTERACTIONS
---------------------- ------------------------------- ------------
Tragopogon_pratensis Propylea_quatuordecimpunctata 1
Anthriscus_sylvestris Rhagonycha_nigriventris 3
Anthriscus_sylvestris Sarcophaga_carnaria 2
Heracleum_sphondylium Sarcophaga_carnaria 1
Anthriscus_sylvestris Sarcophaga_variegata 4
Anthriscus_sylvestris Sphaerophoria_interrupta_Gruppe 3
Cerastium_holosteoides Sphaerophoria_interrupta_Gruppe 1

我想创建一个这样的表:
                       Propylea_quatuordecimpunctata Rhagonycha_nigriventris Sarcophaga_carnaria Sarcophaga_variegata Sphaerophoria_interrupta_Gruppe
---------------------- ----------------------------- ----------------------- ------------------- -------------------- -------------------------------
Tragopogon_pratensis 1 0 0 0 0
Anthriscus_sylvestris 0 3 2 4 3
Heracleum_sphondylium 0 0 1 0 0
Cerastium_holosteoides 0 0 0 0 1

也就是说,行中的所有植物物种,列中的所有动物物种,有时没有相互作用(而我的初始数据仅列出发生的相互作用)。

最佳答案

在基础 R 中,使用 tablextabs :

with(warpbreaks, table(wool, tension))

tension
wool L M H
A 9 9 9
B 9 9 9

xtabs(~wool+tension, data=warpbreaks)

tension
wool L M H
A 9 9 9
B 9 9 9
gmodels包有一个功能 CrossTable给出类似于 SPSS 或 SAS 用户期望的输出:
library(gmodels)
with(warpbreaks, CrossTable(wool, tension))


Cell Contents
|-------------------------|
| N |
| Chi-square contribution |
| N / Row Total |
| N / Col Total |
| N / Table Total |
|-------------------------|


Total Observations in Table: 54


| tension
wool | L | M | H | Row Total |
-------------|-----------|-----------|-----------|-----------|
A | 9 | 9 | 9 | 27 |
| 0.000 | 0.000 | 0.000 | |
| 0.333 | 0.333 | 0.333 | 0.500 |
| 0.500 | 0.500 | 0.500 | |
| 0.167 | 0.167 | 0.167 | |
-------------|-----------|-----------|-----------|-----------|
B | 9 | 9 | 9 | 27 |
| 0.000 | 0.000 | 0.000 | |
| 0.333 | 0.333 | 0.333 | 0.500 |
| 0.500 | 0.500 | 0.500 | |
| 0.167 | 0.167 | 0.167 | |
-------------|-----------|-----------|-----------|-----------|
Column Total | 18 | 18 | 18 | 54 |
| 0.333 | 0.333 | 0.333 | |
-------------|-----------|-----------|-----------|-----------|

关于r - 我如何获得列联表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7442207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com