合并具有相似名称的列

2024-01-06

我有一个带有非常烦人的变量名的数据框;基本上我对同一变量的观察分布在变量 g1_param1、g2_param1、g3_param1 等中。我想将它们全部加入到 1 个名为 param1 的变量/列中。

g1_param1 g2_param1 g1_param2 g2_param2
NA 7 NA 4
1 NA 1 NA

我有一些使用 grepl 的想法,但这似乎很复杂,对于一些可能更容易完成的事情?


也许是这个?

no_g <- split(names(dat), sub(".*_", "", names(dat)))
no_g
# $param1
# [1] "g1_param1" "g2_param1"
# $param2
# [1] "g1_param2" "g2_param2"
as.data.frame(
  Map(function(nm, cols) do.call(dplyr::coalesce, dat[cols]), names(no_g), no_g)
)
#   param1 param2
# 1      7      4
# 2      1      1

您可以更换dplyr::coalesce with data.table::fcoalesce或者如果你没有的话,可以使用自己开发的函数dplyr可用的。例如,

my_coalesce <- function(...) {
  dots <- list(...)
  if (length(dots) == 0) return()
  if (length(dots) == 1) return(dots[[1]])
  out <- dots[[1]]
  for (i in seq_along(dots)[-1]) {
    if (!any(isna <- is.na(out))) break
    out[isna] <- dots[[i]][isna]
  }
  out
}

(未经测试,它“应该有效”,但如果您使用经过时间验证的东西可能会更好。值得注意的是,它并没有验证所有长度dots是相等的,因为在此操作中它们必须相等。或者它们中的任何一个都有长度。)


Data:

dat <- structure(list(g1_param1 = c(NA, 1L), g2_param1 = c(7L, NA), g1_param2 = c(NA, 1L), g2_param2 = c(4L, NA)), class = "data.frame", row.names = c(NA, -2L))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

合并具有相似名称的列 的相关文章

  • 如何在 R 中将字符串解析为层次结构或树

    有没有办法将表示组的字符串解析为 R 中的层次结构 假设我的小组结构如下 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 3 1 1 3 1 1 1 3 2 1 1 3 3 1 2 1 2 1 1 2 1 1 1 2 1 2 1
  • 更快的 %in% 运算符

    The 快速匹配 https cran r project org web packages fastmatch index html包实现了更快的版本match对于重复匹配 例如在循环中 set seed 1 library fastma
  • 合并数据框而不重复行

    我想合并两个数据框 但如果有多个匹配项 则不想重复行 相反 我想总结一下那天的观察结果 来自 合并 提取两个数据框中与指定列匹配的行并将其连接在一起 如果有多个匹配项 则所有可能的匹配项各贡献一行 这是一些示例代码 days lt as d
  • RStudio 如何确定控制台宽度,为什么它似乎总是出错?

    我刚刚发现wid lt options width在 RStudio 中 它似乎是我日常控制台使用中令人烦恼的根源 或者更确切地说 更接近根源 我应该先说一下 我目前使用的是 R 3 2 2 RStudio 0 99 491 Linux M
  • 从 R 中的方差分析 (glm) 中提取残余偏差

    我在 R 中安装了一个 glm 模型并采用了方差分析表 我需要提取 残余偏差 列 但它会产生错误 以下是代码 创建数据 counts lt c 18 17 15 20 10 20 25 13 12 outcome lt gl 3 1 9 t
  • 如何使用 xpath 检查某个对象在网页中是否可见?

    我正在 R 中使用 RSelenium 包来进行网络抓取 有时加载网页后 需要检查某个对象在网页中是否可见 例如 library RSelenium open a browser RSelenium startServer remDr lt
  • 使用大矩阵操作

    我必须使用 big matrix 对象 并且无法计算某些函数 让我们考虑以下大矩阵 create big matrix object x lt as big matrix matrix sample 1 10 20 replace TRUE
  • ubuntu中R的igraph包的安装

    我使用以下命令在 ubuntu 中安装 R 的 igraph 包 install packages igraph 但我收到一条错误消息 警告 无法访问存储库的索引 http ftp iitm ac in cran src contrib h
  • 删除字符串末尾的句点和数字

    如何删除尾随句点 后面紧跟一个数字 长度为一位或两位数字 例子 z lt c awe p 56 red 45 ted 5 you 88 tom 我只想删除 45和 5 你只需要一个简单的正则表达式 z new gsub 0 9 z 一些评论
  • R 中按时间划分的平均值

    我每秒测量一次化合物浓度 我想求 30 秒和 60 秒的平均值 我一直在阅读这里的帖子 我尝试过lubridate and dplyr 但没有运气 我正在努力完成这项工作 但我一直没能做到 我正在从 SAS 过渡到 R 所以请耐心等待 这是
  • R 将多个值与向量进行比较并返回向量[重复]

    这个问题在这里已经有答案了 我有一个向量 A 对于 A 的每个元素 我想检查它是否等于第二个向量 Targets 中的任何元素 我想要一个逻辑值向量 其长度为 A 作为返回 也提到了同样的问题here http r 789695 n4 na
  • 如何在knitr和RStudio中为word和html设置不同的全局选项?

    我正在使用 RStudio 0 98 932 和 knitr 1 6 想要为word和html设置不同的全局knitr选项 例如 想要将word的fig width和fig height设置为6 html的fig width和fig hei
  • 获取函数的命名空间

    我正在开发一个包 我希望在其中向对象添加编辑历史记录 该包允许其他包注册用于编辑对象的函数 我正在寻找一种方法来记录注册用于编辑的函数的包的版本 问题是 给定一个函数 如何从导出的位置获取包 我的想法是调查它的搜索路径 但是search 仅
  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • 在 R 传单中添加不透明度滑块

    如何在 R leaflet 应用程序中添加滑块来控制特定图层的不透明度 对于这个应用程序 我不想使用闪亮 这里建议 在 R 传单应用程序中添加滑块 https stackoverflow com questions 37682619 add
  • R中的字典数据结构

    在 R 中 我有 例如 gt foo lt list a 1 b 2 c 3 如果我输入foo I get a 1 1 b 1 2 c 1 3 我怎样才能看透foo仅获取 键 列表 在这种情况下 a b c R 列表可以具有命名元素 因此可
  • 尝试使用 JRI 将 R 与我的 Java 应用程序集成,但出现错误。谁能解释一下原因和解决办法吗?

    我需要将 Java 与 R 集成来运行一些数学命令并使用 R 的功能进行绘图 以下部分代码给出了错误 public static void main String args HelloRWorld r new HelloRWorld r h
  • Quantmod 的简单功能不再起作用

    我明天要交论文 我收到了一条关于 quantmod 的非常奇怪的错误消息 这是我在过去几周使用这个包时从未遇到过的 我无法导入特定于道琼斯指数 DJI 的数据 我收到以下错误消息 getSymbols DJI src yahoo from
  • R 闪亮仪表板中的动态重复条件面板

    我正在尝试创建一个动态条件面板 所以我的条件如下 在用户界面中输入 selectInput inpt Input Number seq 1 50 1 selectize FALSE 我的条件面板 UI 输入是 conditionalPane
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t

随机推荐

  • 停止自动隐藏托盘通知图标

    每当我的 Windows 窗体应用程序第一次运行时 托盘图标保持可见状态大约不到一分钟 然后自动隐藏 我该怎么做才能让它粘住而不是自动隐藏 我尝试搜索 但找不到任何有用的信息 看来这是 Windows 7 及更高版本的默认行为 我想知道是否
  • 如何在 Amazon EC2 Ubuntu 服务器上设置 GUI

    我正在使用亚马逊 Ubuntu EC2 实例 它只有一个命令行界面 我想为该服务器设置 UI 以使用远程桌面工具进行访问 有没有办法将GUI应用到EC2实例 这是可以做到的 以下是设置 GUI 的步骤 创建新用户 使用密码登录 sudo u
  • 使用Java注解的ViewResolver

    是否有可能在Spring http en wikipedia org wiki Spring Framework3 1 1 使用Java注释配置视图解析器 我已经使用 Java 注释完成了所有配置 但我陷入困境视图解析器 Code pack
  • 如何使用 BigDecimal 显示始终保留 2 位小数的数字?

    我在用大十进制以获得一些价格值 需求是这样的 无论我们从数据库中获取什么值 显示的值都应该有2个小数点 Eg 获取的值为 1 应显示为 1 00获取的值为 1 7823 应显示为 1 78 我在用setScale 2 BigDecimal
  • 如何在javascript中匹配由已知前缀和后缀包围的子字符串

    给定一个字符串 例如 示例字符串与要匹配的预期嵌套字符串 如何隔离仅知道其前缀和后缀的子字符串 例如之间intended and to match 使用正则表达式非捕获括号 https developer mozilla org en US
  • 如何检测 UIImage 中的 alpha 像素

    如果用户触摸位于 alpha 像素 透明 上 我尝试将 hitTest 传递给我下面的元素 我不知道的是如何确定 CGPoint 20 20 上的像素是否是完整的 alpha iOS 4 谢谢 奥 可以获取像素RGBA 然后获取alpha
  • 将请求从servlet转发到jsp

    我有一个小型应用程序 HTML 表单 作为控制器的 servlet 和 jsp 文件 我尝试弄清楚为什么我无法将请求从 servlet 转发到 jsp 文件 问题是从 html 提交后 显示 HTTP Status 404 申请流程 从 h
  • redshift select unique 返回重复值

    我有一个数据库 其中每个对象属性都存储在单独的行中 附加的查询不会在 redshift 数据库中返回不同的值 但在任何 mysql 兼容数据库中测试时可以按预期工作 SELECT DISTINCT distinct value FROM S
  • 如何确定渲染 HTML 页面需要多长时间?

    我有一个大页面 其中有一个大 HTML 表格 在 Internet Explorer 中 渲染内容需要很长时间 可能需要 10 15 秒来渲染 有没有一种方法可以使用 JavaScript 或其他方法来确定页面何时开始渲染以及何时完全完成渲
  • 读取 .config 文件

    目前我有一个名为 router js 的文件 设置如下 var Server require mongodb Server var MongoDB require mongodb Db var dbPort 31979 var dbHost
  • “org.eclipse.jdt.launching.IVMInstall.getLibraryLocations()”的问题

    当我尝试在 Eclipse 中运行 Java 程序时 出现以下错误 在 启动 ConvertExcelToJSON 期间发生内部错误 无法调用 org eclipse jdt launching IVMInstall getLibraryL
  • 将 LEFT OUTER JOIN 查询转换为 Ecto

    我不知道如何将 SQL 语句转换为 Ecto 凤凰城设置 mix phx gen html Location Country countries name mix phx gen html Location FederalState fed
  • 在 RecyclerView 本身而不是项目上设置 OnClickListener

    我想设置一个OnClickListener on a RecyclerView 不在其物品上以便当用户点击时触发点击事件RecyclerView 即使它是空的或装满了物品 我正在使用MVVM I tried mRecyclerView se
  • 为与我们的服务器交互的 chrome 扩展实现 google oauth2

    想要什么 一个chrome扩展 它使用google ooauth2 0登录扩展 并使用访问令牌将他的操作数据安全地发送到我的服务器 我从访问令牌获取用户详细信息并保存他的操作 服务器在php中实现 我做了什么 使用重定向 URL 注册 Go
  • Active Admin 和 Apartment Gem

    我是 Active Admin 的新手 但从目前为止我所看到的情况来看 我认为这很容易实现 我有一个带有公寓宝石的应用程序来添加多租户 我正在向我的应用程序添加活动管理员 Apartment 使用 PostgreSQL 模式来隔离数据 例如
  • 是否可以阻止您的网站在另一个域的框架集和 IFrame 内运行?

    最近我们遇到了一个问题 其他网站在一个框架集中运行我们的电子商务网站 而我们的网站 附加了违规者附属 ID 是单个全宽框架中的唯一内容 所以本质上它看起来和感觉就像我们的网站 其 URL 位于顶部 我们可以切断他们的会员 ID 这会让他们这
  • Python tkinter PhotoImage 无法正常工作

    我正在尝试使用 tkinter 但这段代码不起作用 我想知道是否有人知道为什么 谢谢 from tkinter import window Tk window title tkinter stuff photo1 PhotoImage fi
  • 如何找出计划任务的下一次运行时间?

    在 ColdFusion 9 中 是否有一种快速方法可以找出计划任务下次尝试运行的时间 我宁愿调用较低级别的 API 等来让 CF 计算它 以与通常相同的方式 我已经放弃了各种服务 并没有看到任何明显的方法可以调用 这会有所帮助 AFAIK
  • 重写Subject.next方法

    我有以下代码 我想在其中覆盖next有一些自定义逻辑 这种方式行不通 但只有在以下情况下才有效next是一个带有箭头函数的属性 其背后的原因是什么 export class Store
  • 合并具有相似名称的列

    我有一个带有非常烦人的变量名的数据框 基本上我对同一变量的观察分布在变量 g1 param1 g2 param1 g3 param1 等中 我想将它们全部加入到 1 个名为 param1 的变量 列中 g1 param1 g2 param1