如何为数据帧的每一行创建一个列联表

知识网络

我有一个很大的数据框,其中行作为物种,从2年开始算作列。我想为每一行创建一个列联表,以测试从第一年到第二年是否有重大变化(减少)。这是类似的假装数据:

Species   2016    2017
cat        14      8
dog        16      12
bird       10      5

然后对于每一行,我想要一个像这样的表:

cat       2017 2018
present   14    8
absent     0    6

dog       2017  2018
present   16    12
absent     0    4

bird      2017  2018
present    10    5
absent      0    5

然后,我将在每张桌子上进行Fisher精确检验,以测试下降幅度是否显着。

我认为这可以通过dplyr来完成,也可以通过类似于下面链接的行遍历循环,但是不确定如何首先构建正确的表列表。如何在R中将数据帧转换为列联表?

我一次只开始一行:

A <- df[1,1:3]
A[2,] <- 0
A[2,3] <- (A[1,2] - A[1,3])
fisher.test(A[2:3])

关于如何将其应用于大量行的建议将不胜感激!我的大脑在编码方面确实很挣扎。

tmfmnk

一种tidyverse可能是:

library(tidyverse)
library(broom)

df %>%
 rowid_to_column() %>%
 gather(var, present, -c(Species, rowid)) %>%
 arrange(rowid, var) %>%
 group_by(rowid) %>%
 mutate(absent = lag(present, default = first(present)) - present) %>%
 ungroup() %>%
 select(-rowid, -var) %>%
 nest(present, absent) %>%
 mutate(p_value = data %>%
         map(~fisher.test(.)) %>%
         map(tidy) %>%
         map_dbl(pluck, "p.value")) %>%
 select(-data)

  Species p_value
  <chr>     <dbl>
1 cat      0.0159
2 dog      0.101 
3 bird     0.0325

在此,它首先执行从宽到长的数据转换,但不包括“种类”列和引用行ID的列。其次,它根据行ID以及按行ID引用年份和组的原始列名来排列数据。第三,它计算年份之间的差异。最后,它嵌套每个物种的当前和不存在变量,并执行fisher.test,然后返回每个物种的p值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为另一个表的每一行联接到表?

来自分类Dev

如何为mysql表的新列中的每一行生成唯一值?

来自分类Dev

计算一个数据帧的每一行与另一个数据帧中的所有其他行之间的欧式距离

来自分类Dev

检查数据帧的每一行是否包含在另一个数据帧中

来自分类Dev

如何为R中的数据帧的每一行生成降价文档

来自分类Dev

如何为具有未命名第一列的数据帧的每一行产生时间序列

来自分类Dev

如何为数据帧中的每一行计算分类变量(级别)的频率

来自分类Dev

当满足条件时,如何将表中特定列的每一行的长度与支持表中的特定值相面对,并创建一个Flag?

来自分类Dev

每输入一行返回多行/列的数据帧

来自分类Dev

如何为数据帧的每一行计算相同值的条目?

来自分类Dev

如何为矩阵或数据帧输出一个矢量,其中每个元素都是从每一行连接在一起的字符串?

来自分类Dev

如何创建一个新的DataFrame,其中每一列代表一个实例在上一个DataFrame的一行中的出现

来自分类Dev

如何为R中的数据表中的每一行创建子类别

来自分类Dev

如何为数据框中的每一列创建一个csv文件?

来自分类Dev

连接2个表后如何为每一行选择一个值

来自分类Dev

创建一个新列,其中列出了熊猫数据框每一行的最大频率值

来自分类Dev

如何为表中的每一行生成一个单独的django URL?

来自分类Dev

如何提取数据帧的每一行并将解析的字符串从另一个数据帧添加到R中第一个数据帧的列

来自分类Dev

Rails:为表的每一行创建一个路由路径

来自分类Dev

为R数据帧中的每一行绘制一个函数

来自分类Dev

r-为数据帧中类别(由2个以上字段定义)中的每一行创建一个序列号

来自分类Dev

在每一行和每一列中创建一个具有唯一字符的 2D 字符表

来自分类Dev

如何使数据框中的每一行的每一列都有一个值?

来自分类Dev

如何使用 PHP 为数据库中的每一行创建一个唯一的页面?

来自分类Dev

如何为表中的每一行数据设置 2 个或更多单选按钮?

来自分类Dev

如何遍历数据表的每一行,以便对每一行一一执行一个函数

来自分类Dev

如何为 sas 中的每一行分组 50 列并为其值创建一个新列?

来自分类Dev

如何将数据帧附加到另一个数据帧的每一行?

来自分类Dev

如何为 Mat-table 创建一个展开所有按钮,以便它在 Angular 8 中展开表中的每一行?

Related 相关文章

  1. 1

    如何为另一个表的每一行联接到表?

  2. 2

    如何为mysql表的新列中的每一行生成唯一值?

  3. 3

    计算一个数据帧的每一行与另一个数据帧中的所有其他行之间的欧式距离

  4. 4

    检查数据帧的每一行是否包含在另一个数据帧中

  5. 5

    如何为R中的数据帧的每一行生成降价文档

  6. 6

    如何为具有未命名第一列的数据帧的每一行产生时间序列

  7. 7

    如何为数据帧中的每一行计算分类变量(级别)的频率

  8. 8

    当满足条件时,如何将表中特定列的每一行的长度与支持表中的特定值相面对,并创建一个Flag?

  9. 9

    每输入一行返回多行/列的数据帧

  10. 10

    如何为数据帧的每一行计算相同值的条目?

  11. 11

    如何为矩阵或数据帧输出一个矢量,其中每个元素都是从每一行连接在一起的字符串?

  12. 12

    如何创建一个新的DataFrame,其中每一列代表一个实例在上一个DataFrame的一行中的出现

  13. 13

    如何为R中的数据表中的每一行创建子类别

  14. 14

    如何为数据框中的每一列创建一个csv文件?

  15. 15

    连接2个表后如何为每一行选择一个值

  16. 16

    创建一个新列,其中列出了熊猫数据框每一行的最大频率值

  17. 17

    如何为表中的每一行生成一个单独的django URL?

  18. 18

    如何提取数据帧的每一行并将解析的字符串从另一个数据帧添加到R中第一个数据帧的列

  19. 19

    Rails:为表的每一行创建一个路由路径

  20. 20

    为R数据帧中的每一行绘制一个函数

  21. 21

    r-为数据帧中类别(由2个以上字段定义)中的每一行创建一个序列号

  22. 22

    在每一行和每一列中创建一个具有唯一字符的 2D 字符表

  23. 23

    如何使数据框中的每一行的每一列都有一个值?

  24. 24

    如何使用 PHP 为数据库中的每一行创建一个唯一的页面?

  25. 25

    如何为表中的每一行数据设置 2 个或更多单选按钮?

  26. 26

    如何遍历数据表的每一行,以便对每一行一一执行一个函数

  27. 27

    如何为 sas 中的每一行分组 50 列并为其值创建一个新列?

  28. 28

    如何将数据帧附加到另一个数据帧的每一行?

  29. 29

    如何为 Mat-table 创建一个展开所有按钮,以便它在 Angular 8 中展开表中的每一行?

热门标签

归档