行对名称中具有特定模式的列求和

2024-05-19

我有一个像这样的数据表

DT <- ata.table::data.table(
  ref = rep(3L, 4L),
  nb = 12:15,
  i1 = c(3.1e-05, 0.044495, 0.82244, 0.322291),
  i2 = c(0.000183, 0.155732, 0.873416, 0.648545),
  i3 = c(0.000824, 0.533939, 0.838542, 0.990648),
  i4 = c(0.044495, 0.82244, 0.322291, 0.393595)
)
DT
#    ref nb       i1       i2       i3       i4
# 1:   3 12 0.000031 0.000183 0.000824 0.044495
# 2:   3 13 0.044495 0.155732 0.533939 0.822440
# 3:   3 14 0.822440 0.873416 0.838542 0.322291
# 4:   3 15 0.322291 0.648545 0.990648 0.393595

现在我想计算行总和,但只包括以“i”开头的列(“i1”,“i2”等)

我用过grep创建要求和的列名向量:

listCol <- colnames(DT)[grep("i", colnames(DT))]
listCol
# [1] "i1" "i2" "i3" "i4"

然后我尝试循环列:

DT$sum <- rep.int(0, nrow(DT))
for (i in listCol){
    DT$sum = DT$sum + DT[ , get(i)]
}

...这给出了所需的输出:

DT
#    ref nb       i1       i2       i3       i4      sum
# 1:   3 12 0.000031 0.000183 0.000824 0.044495 0.045533
# 2:   3 13 0.044495 0.155732 0.533939 0.822440 1.556606
# 3:   3 14 0.822440 0.873416 0.838542 0.322291 2.856689
# 4:   3 15 0.322291 0.648545 0.990648 0.393595 2.355079

我该如何改进我的代码?


子问题:

该子问题部分包含上一个问题的答案:

如何避免这种奇怪的符号:

myrowMeans = function (x){
    rowMeans(x, na.rm = TRUE)
}
DT[ , var := myrowMeans(.SD-myrowMeans(.SD)^2), .SDcols = grep("i", colnames(DT))]

Use .SDcols指定列,然后采取rowSums. Use :=分配新列:

DT[ ,sum := rowSums(.SD), .SDcols = grep("i", names(DT))]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

行对名称中具有特定模式的列求和 的相关文章

随机推荐

  • 以下代码使用 std::set “合法”吗?

    我有这个代码 set
  • 使用 phpdocx 下载损坏的 .docx

    我有一个项目 我们使用 phpdocx pro 在模板中生成 docx 文件 我可以很容易地将数据输入到模板中 但是当下载文件并在 MS Word 2010 中打开时 程序报告无法打开文件 因为内容存在问题 详细信息是 文件已损坏 并且无法
  • 在java库中找不到源

    I m new to java and facing this problem while debugging code 我在使用外部文件时发现了 rt jar 但不起作用 这是否意味着该文件已损坏还是什么 您需要附加 src zip 作为
  • Java Mail - 以字符串形式读取附件

    我开始使用 Java Mail 我有一些关于附件处理的问题 如果我们的内容是Multipart即有一个附件 在哪个索引处是实际的附件 在哪个索引处我们可以找到邮件内容 我只想处理附件 这是正确的做法吗 如果我想将给定的附件转换为字符串 只需
  • gnuplot 中的块注释

    我有一个很长的 gnuplot 脚本 出于调试目的 我希望能够阻止该脚本的注释部分或使用 goto 语句 这可能吗 我知道我可以使用if陈述 if 1 2 commented out code else non commented out
  • Mathematica 和 MouseListener - 使用 Mma 开发交互式图形

    我想为 Mathematica 3D 图形添加交互性 除了 Manipulate 之外 Manipulate 很酷但有其局限性 考虑 Mathematica 中四个立方体问题的演示的四个示例 单击其中一个立方体即可旋转一个立方体 问题 是否
  • Javascript:删除字符串标点符号并拆分成单词?

    抱歉 如果之前有人问过这个问题 但我正在尝试从这样的字符串中获取单词数组 Exclamation Question Quotes Apostrophe Wasn t Couldn t Didn t 该数组应该看起来像这样 exclamati
  • 如何舍入、取整、取整、截断

    如何对 jq jq 1 5 1 a5b5cbe 中的数字进行舍入 取整 取整和截断 例如 与 mass 188 72 我想 mass 188 有地板 mass 189 与天花板和圆形 舍入示例 5 52 gt 6 5 50 gt 5 or
  • 同步获取已解决 Promise 的值

    如果我们知道一个Promise肯定已经解决了 我们如何访问该值 如果不能 为什么不呢 let a Promise resolve 123 console log a value 以下不起作用 它打印 First Last 123 conso
  • 什么是内容语言和接受语言?

    我已经看到了 HTTP 标头Content Language and Accept Language 有人可以解释一下它们的用途以及它们之间的区别吗 我有一个多语言网站 想知道我是否应该将这两个网站设置为用户当前选择的语言 Content
  • 在 Java EE 中手动启动新线程安全吗?

    对于在会话范围内的 JSF 托管 bean 中生成线程是否安全 我找不到明确的答案 线程需要调用无状态 EJB 实例 依赖注入到托管 bean 上的方法 背景是我们有一份需要很长时间才能生成的报告 由于我们无法更改服务器设置 这导致 HTT
  • 导出维基百科翻译标题的简单方法

    有没有一种简单的方法可以导出维基百科的翻译标题以获得这样的集合 russian title gt english title 我试图从ruwiki 最新 页面 meta current xml bz2 and ruwiki 最新 pages
  • greendao list查看实体中的所有数据

    格林道 其中有一个简单的方法可以在ListView中显示来自Entity的所有记录 并且支持自动更新列表 也许是 Lazylist 类 如何使用它 看一看here https groups google com forum fromgrou
  • IOS7 状态栏在选定控制器上隐藏/显示

    我想在某些控制器上显示和隐藏状态栏 这可以完成吗 或者它更像是一个整体应用程序设置 我看过很多关于 plist 更新的帖子 问题 View controller based status bar appearance NO 如果这完成了 那
  • Hibernate 缺乏对一对一和多对一关系的删除孤儿支持的解决方法?

    Hibernate 不支持一对一或多对一关系的 删除孤儿 级联 我最近发现了这一点 这让我非常头疼 我的模型中有几个类 它们的设计使得孩子在父母之外没有现实世界的意义 我只有一个用于父类的 DAO 而没有用于子类的单独 DAO 这有效 pa
  • 如何向同一个 QMenu 添加多个 QAction?

    我正在尝试实现 Qt 菜单自定义 并且我提供了一个功能来添加相同的功能QAction在同一个人民币上下文菜单中多次 但是当我尝试这样做时 myMenu gt addAction myAction myMenu gt addAction my
  • 内存屏障:软件黑客的硬件视图示例 3

    我正在从原始论文中复制该图的文本 内存屏障 软件黑客的硬件视图 http www rdrop com 7Epaulmck scalability paper whymb 2010 06 07c pdf 表 4 显示了由 CPU 0 1 和
  • silverlight/xaml 中通知的图标徽章覆盖

    我的 silverlight 应用程序中有一个功能区栏 并且在其中一个图标上我希望有一个徽章图标 显示该图标激活的视图中的项目数 想象一下 OS X 中显示未读邮件数量的邮件图标或 IOS 应用程序图标上的通知计数器 我对 xaml 样式不
  • 如何将我的 json 字符串 avro 二进制编码为字节数组?

    我有一个实际的 JSON 字符串 我需要将其 avro 二进制编码为字节数组 在经历了Apache Avro 规范 http avro apache org docs 1 7 7 spec html 我想出了下面的代码 我不确定这是否是正确
  • 行对名称中具有特定模式的列求和

    我有一个像这样的数据表 DT lt ata table data table ref rep 3L 4L nb 12 15 i1 c 3 1e 05 0 044495 0 82244 0 322291 i2 c 0 000183 0 155