R:计算数据框的边距或行和列总和

2024-05-02

我有一个如下所示的数据框:

         Flag1             Flag2    Type1 Type2  Type3
1        A                 FIRST      2    0       0
2        A                SECOND      1    9       0
3        A                 THIRD      3    7       0
4        A                FOURTH      9   18       0
5        A                 FIFTH      1   22       0
6        A                 SIXTH      1   13       0
7        B                 FIRST      0    0       0
8        B                SECOND      3    9       0
9        B                 THIRD      5   85       0
10       B                FOURTH      4   96       0
11       B                 FIFTH      3   40       0
12       B                 SIXTH      0   17       0

我需要以这样的方式求和,使我的数据框最终看起来像这样

         Flag1             Flag2    Type1 Type2  Type3   Sum
1        A                 FIRST      2    0       0      2
2        A                SECOND      1    9       0     10 
3        A                 THIRD      3    7       0     10
4        A                FOURTH      9   18       0     27
5        A                 FIFTH      1   22       0     23
6        A                 SIXTH      1   13       0     14
7        B                 FIRST      0    0       0      0
8        B                SECOND      3    9       0     12
9        B                 THIRD      5   85       0     90
10       B                FOURTH      4   96       0    100
11       B                 FIFTH      3   40       0     43
12       B                 SIXTH      0   17       0     17 
13      (all)              FIRST      2    0       0      2
14      (all)             SECOND      4   18       0     22
15      (all)              THIRD      8   92       0    100
16      (all)             FOURTH     13  114       0    127
17      (all)              FIFTH      4   62       0     66
18      (all)              SIXTH      1   30       0     31
19       A                 (all)     17   68       0     86
20       B                 (all)     15  247       0    262
21      (all)              (all)     32  315       0    348

我已经尝试过 reshape2 包中的 add_margins 函数,没有用,它没有像我想要的那样计算总和。我尝试过aggregate、rowSums 和colSums - 没有结果。

这里的任何帮助都会很棒。

Thanks

求和函数还需要将之前的 Flag2 的和相加。喜欢,

        Flag1             Flag2    Type1 Type2  Type3   Sum
1        A                 FIRST      2    0       0      2
2        A                SECOND      1    9       0     12 
3        A                 THIRD      3    7       0     22
4        A                FOURTH      9   18       0     49
5        A                 FIFTH      1   22       0     72
6        A                 SIXTH      1   13       0     86
7        B                 FIRST      0    0       0      0
8        B                SECOND      3    9       0     12
9        B                 THIRD      5   85       0    102
10       B                FOURTH      4   96       0    202
11       B                 FIFTH      3   40       0    245
12       B                 SIXTH      0   17       0    262 
13      (all)              FIRST      2    0       0      2
14      (all)             SECOND      4   18       0     24
15      (all)              THIRD      8   92       0    124
16      (all)             FOURTH     13  114       0    251
17      (all)              FIFTH      4   62       0    317
18      (all)              SIXTH      1   30       0    348
19       A                 (all)     17   68       0     85
20       B                 (all)     15  247       0    262
21      (all)              (all)     32  315       0    347

假设你有这样一个数据,框架并且它的名称是稳定的:

dt1 <- as.data.frame(addmargins(xtabs(Type1~Flag1+Flag2, data=dtable)))
dt2 <- as.data.frame(addmargins(xtabs(Type2~Flag1+Flag2, data=dtable)))
dt3 <- as.data.frame(addmargins(xtabs(Type3~Flag1+Flag2, data=dtable)))
names(dt1)[3] <- "Type1"
names(dt2)[3] <- "Type2"
names(dt3)[3] <- "Type3"

dt.all <- merge(merge(dt1,dt2), dt3)
dt.all$Sum <- with(dt.all, Type1+Type2+Type3)

我无法获得您想要的确切排序顺序,但这很接近:

levels(dt.all$Flag2) <-  c("FIRST", "SECOND", "THIRD", "FOURTH" ,"FIFTH", "SIXTH",  "Sum" ) 
dt.all[order(dt.all$Flag1, dt.all$Flag2), ]

   Flag1  Flag2 Type1 Type2 Type3 Sum
1      A  FIRST     1    22     0  23
2      A SECOND     2     0     0   2
3      A  THIRD     9    18     0  27
4      A FOURTH     1     9     0  10
5      A  FIFTH     1    13     0  14
7      A  SIXTH     3     7     0  10
6      A    Sum    17    69     0  86
8      B  FIRST     3    40     0  43
9      B SECOND     0     0     0   0
10     B  THIRD     4    96     0 100
11     B FOURTH     3     9     0  12
12     B  FIFTH     0    17     0  17
14     B  SIXTH     5    85     0  90
13     B    Sum    15   247     0 262
15   Sum  FIRST     4    62     0  66
16   Sum SECOND     2     0     0   2
17   Sum  THIRD    13   114     0 127
18   Sum FOURTH     4    18     0  22
19   Sum  FIFTH     1    30     0  31
21   Sum  SIXTH     8    92     0 100
20   Sum    Sum    32   316     0 348
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R:计算数据框的边距或行和列总和 的相关文章

  • kernlab 中 SVM 训练之外的核矩阵计算

    我正在开发一种新算法 该算法可以生成修改后的核矩阵以用于 SVM 训练 但遇到了一个奇怪的问题 出于测试目的 我比较了使用 kernelMatrix 接口和普通内核接口学习的 SVM 模型 例如 Model with kernelMatri
  • 如何用 pandas 中两个日期之间计算的值填充列?

    我有这个数据框 Date Position TrainerID Win 2017 09 03 4 1788 0 0 wins 1 race 2017 09 16 5 1788 0 0 wins 2 races 2017 10 14 1 17
  • 在 R 中绘制 Likert 变量的堆积条形图

    假设我有一个如下所示的数据框 P Q1 Q2 1 1 4 1 2 2 3 4 3 1 1 4 其中的列告诉我哪个人相应地回答了问题 q1 q2 中的哪一个 这些问题需要按照 4 分李克特量表进行回答 例如 批准 表示 1 稍微批准 表示 2
  • 为什么 dplyr filter() 不能在函数内工作(即使用变量作为列名)?

    使用 dplyr 函数对数据进行过滤 分组和变异的函数 基本管道序列在函数之外工作得很好 这就是我使用真实列名称的地方 将其放入一个函数中 其中列名称是一个变量 并且某些函数可以工作 但有些函数则不能 尤其是 dplyr filter 例如
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • 相当于 min() 的 rowMeans()

    我在 R 邮件列表上多次看到这个问题 但仍然找不到满意的答案 假设我有一个矩阵m m lt matrix rnorm 10000000 ncol 10 我可以通过以下方式获得每行的平均值 system time rowMeans m use
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 旋转 Markdown 的表格 pdf 输出

    我想将 pdf 上的表格输出旋转 90 度 我正在使用 Markdown 生成报告并kable循环显示表格 如果可以的话我想继续使用kable因为还有很多其他依赖于它的东西我没有包含在这个 MWE 中 这是一个简单的例子 使用iris数据集
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • R:如何获取该月的周数

    我是 R 新手 我想要该日期所属月份的周数 通过使用以下代码 gt CurrentDate lt Sys Date gt Week Number lt format CurrentDate format U gt Week Number 3
  • read_html(url) 和 read_html(content(GET(url), "text")) 之间的区别

    我正在看这个很棒的答案 https stackoverflow com a 58211397 3502164 https stackoverflow com a 58211397 3502164 解决方案的开头包括 library httr
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • SPSS 中的标准化残差与 R rstandard(lm()) 不匹配

    在寻找 R 相关解决方案时 我发现 R 和 SPSS 版本 24 在计算简单线性模型中的标准化残差方面存在一些不一致 看来SPSS所谓的标准化残差匹配 R学生化残差 我完全不认为某处存在软件错误 但显然这两个程序之间存在差异 看看这个例子
  • 如何绘制具有显着性水平的箱线图?

    前段时间问了一个关于绘制箱线图的问题Link1 https stackoverflow com questions 14604439 plot multiple boxplot in one graph 我有一些包含 3 个不同组 或标签
  • 如何修复 R 中 Kaplan Meier 图的风险表计算错误

    以下是一个数据帧 其中 6 个参与者中的每一个都有唯一的 record ID 我想绘制一个生存分析图 其中包含感兴趣事件的复发以及在时间间隔 tstart 到 tstop 内 暴露 药物剂量 数值变量 的时间依赖性协变量 每个参与者的最大
  • 在 ifelse() 语句内部和外部运行一行时的不同输出

    我正在尝试运行一个简单的命令 但不知道为什么在内部和外部运行它时输出不同ifelse 功能 函数条件评估为FALSE 所以输出应该完全相同 但是 单独运行时 输出为0 0 1 1 0 1 0 1 NA 根据需要 但是从ifelse 函数 输
  • 识别 pandas 数据框中各组之间的差异

    我有一个按日期和 ID 索引的 pandas 数据框 我想 识别日期之间增删的ID 将 ID 添加到另一个数据帧以及添加 删除的日期 date ID value 12 31 2010 13 0 124409 9 0 555959 1 0 7
  • 麦当劳 omega:R 中的警告

    我正在计算几种不同尺度的欧米茄 并在 R 中使用不同的 omega 函数获取不同比例的不同警告消息 我的问题是如何解释这些警告以及报告检索到的 omega 统计数据是否安全 当我使用 从 alpha 到 omega 内部一致性估计普遍问题的
  • 如何将plot中的单变量列表图表转换为ggplot2格式?

    我正在搜索 但仍然找不到一个非常简单的问题的答案 我们如何使用 R 中的 ggplot2 生成一个变量的简单线图 我正在分析时间序列数据 并且想要对图表进行更复杂的操作 我认为如果我使用 ggplot2 代替会更好plot It works
  • 线性判别分析图

    如何将样本 ID 行号 作为标签添加到此 LDA 图中的每个点 library MASS ldaobject lt lda Species data iris plot ldaobject panel function x y points

随机推荐

  • 如果基于更改值,Azure 逻辑应用程序条件无法在循环中工作

    我需要编写一个简单的 LogicApp 它连接到 http 端点 接收一些 JSON 循环遍历 JSON 消息 并根据消息中的值将其分块提交到不同的 http 端点 在这样做时 我得出的结论是 For Each 循环内的条件始终评估循环之前
  • 如何在多个设备上运行 Uiautomator 测试?

    我正在尝试在 bat 文件中进行 Uiautomator android Ui 测试 但我无法让它们并行运行 这是我的执行流程并连接了 3 个设备 gt adb devices XXXX XXXX XXXX gt adb push bin
  • bigquery url 解码

    有没有一种简单的方法可以在 BigQuery 查询语言中进行网址解码 我正在使用一个表 该表有一列包含某些值中的 URL 编码字符串 例如 http xyz com example php url http 3A 2F 2Fwww exam
  • 使用 html/javascript/css 的弹出表单

    我必须在弹出窗口中打开一个 html 表单 弹出窗口不应该是一个窗口 通常使用 window open 创建 而应该像下面的链接中出现的那样 在 Firefox 中打开 http www w3schools com js tryit asp
  • 如何获取 UITableView 中特定行的高度

    In my UITableView我使用委托方法为不同的行设置了不同的高度 tableView heightForRowAtIndexPath 现在给定一个NSIndexPath 我想获取之前为特定行指定的高度 你可以用这个 CGRect
  • CIFIlter 是否有替代方案可以在 watch os 6 中生成二维码

    我正在开发一个独立于手表的应用程序 我想在 watchkit 上生成二维码 但是由于 coreImage 不能与 watchkit 一起使用 我们还有其他方法可以做到这一点吗 Thanks 我使用支持 watchos 的库 例如EFQRCo
  • 以编程方式将 LinearLayout 高度更改为 0

    我正在调整大小LinearLayout从原来的高度到0 with ViewGroup LayoutParams params getLayoutParams params height newHeight requestLayout 一切正
  • 代码改进:此模式的更好替代方案?

    在类似的问题中 这种模式叫什么 软锁 https stackoverflow com questions 7259436 what is this pattern called soft lock 我询问下面的代码清单的模式名称 publi
  • 产生并处理软件中断

    有人可以告诉我如何在Linux下生成软件中断然后用request irq处理它吗 或者也许这是不可能的 您可以使用软中断来代替 您可以通过编辑 include linux interrupt h 来定义您的 sofirq 然后使用函数 ra
  • 有没有办法忽略 ASP.NET Core 中 HTTP 日志记录中的 swagger 响应?

    我有一个使用 net 7 创建的 asp net Web api 我启用了http 日志记录 https learn microsoft com en us aspnet core fundamentals http logging vie
  • Smart Lock 登录提示 setPhoneNumberIdentifierSupported 不起作用

    我正在尝试使用 HintRequest 获取用户电话号码 PendingIntent intent Auth CredentialsApi getHintPickerIntent googleApiClient new HintReques
  • 如何响应 vaadin 中表格行的点击

    我有以下代码 public Button getBtnSubmit com vaadin ui Button ClickListener l if null l btnSubmit addListener l return btnSubmi
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 我可以设置默认的全局 Java 套接字超时吗?

    我遇到了一个问题 应用程序中涉及 http 和 ftp 连接的各个位置在 java net SocketInputStream socketRead0 上无限期地挂起 在终止 java 进程之前一次观察几个小时 我想全局覆盖默认的套接字超时
  • “ok glass”菜单中没有连接消息

    我正在开发一个应用程序 当用户从菜单中选择选项时 它会在时间轴中添加一张实时卡 就像示例应用程序一样 我注意到 当您没有任何连接时 玻璃上的本机应用程序 例如 Google 会在 ok glass 菜单中显示 无网络连接 消息 并且无法运行
  • Javascript对象引用链接到数组中的对象?

    如果我有一个对象 var array var theobject null array push song The Song artist The Artist song Another Song artist Another Artist
  • R如何删除字符串中非常特殊的字符?

    我正在尝试删除字符串中的一些非常特殊的字符 我读过其他帖子 例如 从 R 中的字符串中删除所有特殊字符 https stackoverflow com questions 10294284 remove all special charac
  • Plotly 中所有地理范围的列表

    我正在尝试使用在地图上绘制数据plotly js 我知道您可以通过以下方式获得一个国家的地图 layout dict title geo dict scope usa 我们有可用范围的列表吗 不同的地区 某个地方 我尝试过谷歌搜索但似乎找不
  • 如何训练斯坦福 NLP 情感分析工具

    地狱大家 我正在使用斯坦福核心 NLP 包 我的目标是对推文直播进行情感分析 按原样使用情感分析工具对文本 态度 的分析非常差 许多积极因素被标记为中性 许多消极因素被评为积极 我已经在文本文件中获取了超过一百万条推文 但我不知道如何实际获
  • R:计算数据框的边距或行和列总和

    我有一个如下所示的数据框 Flag1 Flag2 Type1 Type2 Type3 1 A FIRST 2 0 0 2 A SECOND 1 9 0 3 A THIRD 3 7 0 4 A FOURTH 9 18 0 5 A FIFTH