R data.table 使用标准名称创建新列

2023-12-14

我想根据比率计算为我的 data.table 创建新列。我的变量的名称有点标准,所以我认为必须有一种方法可以轻松实现这一点数据表。但是我不知道如何实现这一点。以下是我的示例数据和代码 -

set.seed(1200)

ID <- seq(1001,1100)
region <- sample(1:10,100,replace = T)
Q21 <- sample(1:5,100,replace = T)
Q22 <- sample(1:15,100,replace = T)
Q24_LOC_1 <- sample(1:8,100,replace = T)
Q24_LOC_2 <- sample(1:8,100,replace = T)
Q24_LOC_3 <- sample(1:8,100,replace = T)
Q24_LOC_4 <- sample(1:8,100,replace = T)

Q21_PAN <- sample(1:5,100,replace = T)
Q22_PAN <- sample(1:15,100,replace = T)
Q24_LOC_1_PAN <- sample(1:8,100,replace = T)
Q24_LOC_2_PAN <- sample(1:8,100,replace = T)
Q24_LOC_3_PAN <- sample(1:8,100,replace = T)
Q24_LOC_4_PAN <- sample(1:8,100,replace = T)

df1 <- as.data.table(data.frame(ID,region,Q21,Q22,Q24_LOC_1,Q24_LOC_2,Q24_LOC_3,Q24_LOC_4,Q21_PAN,Q22_PAN,Q24_LOC_1_PAN,Q24_LOC_2_PAN,Q24_LOC_3_PAN,Q24_LOC_4_PAN))

col_needed <- c("Q21","Q22","Q24_LOC_1","Q24_LOC_2","Q24_LOC_3","Q24_LOC_4")

check1 <- df1[,Q21_R := mean(Q21,na.rm = T)/mean(Q21_PAN,na.rm = T),by=region]

check1 适用于一个变量。我一直在寻找一种解决方案,可以传递所有需要的变量并在一行中计算新变量。所以在这种情况下就像通过col_needed。我也尝试了下面的代码 -

check2 <- df1[,`:=`(paste0(col_needed,"_R"),(mean(col_needed,na.rm = T)/mean(paste0(col_needed,"_PAN"),na.rm = T))),by=region][]

然而,这给了我多个警告,结果是所有 NA 都为 NA。警告是 -在mean(col_needed, na.rm = T)中:参数不是数字或逻辑:返回NA

你能建议我哪里出错了吗?


如果我理解正确的话,你可以执行以下操作:

df1[, paste(col_needed, "R", sep = "_") := 
      Map(function(x,y) mean(get(x), na.rm = TRUE)/mean(get(y), na.rm=TRUE), 
           col_needed, 
           paste(col_needed, "PAN", sep = "_")),
    by=region]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R data.table 使用标准名称创建新列 的相关文章

  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • 将DataTable批量插入postgreSQL表中

    在 SQL 中 我们执行类似的操作来批量插入数据表 SqlBulkCopy copy new SqlBulkCopy sqlCon copy DestinationTableName strDestinationTable copy Wri
  • 在 R 的 for 循环中创建动态命名对象并分配动态值

    我正在尝试创建一套动态命名的新对象 例如 temp2015 使用 for 循环 并存储动态值 具体来说 其他对象的名称 例如 Y2015 和 for 循环中使用的值 例如 2015 在动态命名的新对象中 我不确定为什么下面的代码不起作用 Y
  • 如何按定义的顺序将图像合并到一个文件中

    我有大约 100 张图像 png 我不想手动执行此操作 而是希望将它们按照定义的顺序 基于文件名 并排放置在一个 pdf 中 每行 12 个图像 有人有什么建议吗 我按照下面托马斯告诉我的方法尝试了 它把它们贴在旁边有一个黑边 我怎样才能去
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • ggplot:如何限制条形图中的输出,以便仅显示最频繁出现的情况?

    我几个小时以来一直在寻找这个简单的东西 但没有结果 我有一个数据框 其中一列为变量 国家 地区 我想要两件事以下 绘制最常见的国家 地区 最常见的位于顶部 找到部分解决方案EDIT找到完整的解决方案 gt gt 重点问题是根据频率限制条形图
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 使用点阵个性化 R 上显示的 X 轴值

    我收集了大量包含日期 客户端及其 NFS 使用情况的数据 我正在使用lattice R包进行绘图 正如对超级用户的建议 https superuser com questions 523195 plot custom log data on
  • 将维基百科中的表格加载到 R 中

    我正在尝试从以下 URL 将最高法院法官表加载到 R 中 https en wikipedia org wiki List of Justices of the Supreme Court of the United States http
  • 扩展数据框以使其具有与原始行中两列的范围一样多的行[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 structure list symbol c u n v i a start c 9L 6L 10L 8L 7L end c 14L 15L 12L 13L 11L Names c symb
  • 如何动态地将 sliderInput 添加到闪亮的应用程序中?

    使用闪亮 我上传一个 csv 文件 并根据列名称 我需要向 ui 添加滑块 sidebarPanel fileInput file1 Upload CSV File to Create a Model accept c text csv t
  • R 中 SVG 图形的最佳设备? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想从 R 导出 SVG 图形 似乎有两种选择 RSvgDevice 和 Cairo 有人可以对这些包发表评论吗 是默认的还是明显比另一个
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • R 数据结构的运算效率

    我想知道是否有任何关于操作效率的文档R 特别是那些与数据操作相关的 例如 我认为向数据框添加列是有效的 因为我猜您只是向链接列表添加一个元素 我想添加行会更慢 因为向量保存在数组中C level你必须分配一个新的长度数组n 1并将所有元素复
  • 使用data.table进行聚合

    经过 SO 用户的多次建议后 我终于尝试将我的代码转换为使用data table library data table DT lt data table plate paste0 plate rep 1 2 each 5 id rep c
  • 将 Excel 文件读入 R 并锁定单元格

    我有一个 Excel 电子表格要读入 R 它受密码保护并锁定了单元格 我可以使用 excel link 导入受密码保护的文件 但我不知道如何解锁 取消保护单元格 excel link 给了我这个错误 gt
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met

随机推荐

  • C# Windows 服务创建进程但不执行它

    所以我检查了很多网站 研究了好几天 我还没有找到或提出自己的解决方案来解决这个问题 我知道 显然从 Windows Vista 开始 Windows 服务自在会话 0 中创建以来 无法与 GUI 可执行文件 例如控制台应用程序和属于非会话
  • 暂时从 Google Translate API 的字符串中删除 HTML 以降低成本

    我必须使用我们付费的 Google API 翻译一些详细信息 详细信息包含 HTML Google 对每个字符收费 我不想发送完整的内容 而只想发送英文文本 并删除 HTML 我可以使用 PHP 函数删除 HTML 标签和实体 但我必须在翻
  • ASP.NET MVC2 项目的 DDD 架构

    我正在尝试将域驱动开发 DDD 用于我的新 ASP NET MVC2 项目和 Entity Framework 4 经过一些研究 我在自己的类项目中对每个层提出了以下层约定 我的公司 域 public class User Contains
  • 如果使用java满足某些条件,如何为某一行设置颜色?

    我有一个jtable 表格摘要 其中一栏是 EXPIRY 我想突出显示客户的行 其到期日已在当前日期失效 我已经有了逻辑 但我无法使该行变成红色或任何其他颜色 这是我的代码 int count tableSummary getRowCoun
  • “\n”分隔符问题

    我有一个 stringbuilder 对象 其中添加了一行数据 添加每一行后 我在末尾附加一个 n 以指示新行 这个 stringbuilder 对象最终确定后被写入一个平面文件 当我在记事本中打开平面文件时 每行后面都会出现一个小矩形 并
  • Twitter API 更新限制错误 403

    我正在尝试使用 twitter4j api 从 twitter api 检索数据 一段时间后检索数据我收到以下错误 Exception in thread main 403 The request is understood but it
  • JQgrid动态添加Dropdown

    我想在 JQGrid 中动态添加下拉菜单 例如 我有以下类型的网格 现在 当我单击按钮时 应在网格中添加一个新行 对于新行 第一列数据将是下拉列表 第二个超链接 第三个下拉列表和第四个复选框 即它应该与第一行相同 对于每个按钮 单击新行时应
  • 什么可能导致 System.TypeLoadException?

    我正在使用 C 使用 VS2008 开发 Honeywell Dolphin 6100 的应用程序 Honeywell Dolphin 6100 是一款带有条形码扫描仪的移动计算机 使用类似 Windows CE 5 0 的操作系统 我想添
  • 无法通过 Azure Powershell 在新应用程序注册模块中设置“preAuthorizedApplications”对象

    简短的场景 多租户前端 javascript React JS Web 应用程序从浏览器调用多租户 ASP NET Core 2 2 WebAPI 验证 当用户登录时 基于用户的原始 Azure Active Directory 前端应用程
  • self = [超级初始化] 重新审视

    我偶然发现了这个帖子在 Objective C 中 为什么我应该检查 self super init 是否不为零 我能够了解这个语法 id initWithString NSString aString self super init if
  • 带有controlsfx通知组件的javafx NullPointerException

    我想开发一个使用controlsfx通知在系统托盘模式下显示一些通知的应用程序 在正常模式下 我的应用程序运行良好 并且可以成功显示通知 但是当我在系统托盘中隐藏阶段时 会发生 NullPointerException 我不知道如何解决这个
  • 将多个 pandas 数据帧导出到 csv 文件的最有效方法是什么?

    我有多个 pandas 数据框 df1 df2 df3 我想将它们全部导出到 csv 文件 df1 to csv df1 csv index False df2 to csv df2 csv index False df3 to csv d
  • 以两个不同的名称将 docker 容器添加到网络

    我正在尝试新的 docker 网络功能 我使用容器链接将旧设置迁移到新的桥接网络 到目前为止 我已经在同一主机上的多个容器之间启动并运行了专用桥接网络 现在我正在寻找一种方法来复制同一容器的多个链接别名 假设我有一个名为myBox加入 do
  • 只需从 PHP 中的字符串获取图像 URL [重复]

    这个问题在这里已经有答案了 从这样的字符串 img src images mylondon jpg 我正在尝试检索仅在 PHP 中其他地方使用的 url 我知道正则表达式是可行的方法 但我现在无法理解它们 有人可以帮忙吗 preg matc
  • DBGrid 停止当前行移动

    使用 d5 TDBGrid SQLite3 和 ZEOS 数据库有 2000 个项目 一列是 Active 布尔值 第二列是 ItemName 文本 IndexFiledNames 是 ItemName OnDblclick 切换 活动 开
  • Apache 中用于 POST/DELETE/PUT 的 URL 重写

    我的网址是这样的 http 10 243 123 1 v1 data register 我想重定向 重写这个网址到 https 10 243 123 1 data register This is HTTP POST PUT DELETE
  • 添加新行时,Google 表格条件格式会发生变化

    因此 我单击 A 和 1 之间的单元格来选择整个工作表 然后单击 格式 然后单击 条件格式 并设置规则 基本上 我有大约 15 种不同的条件 但所有条件都在 F 到 O 列中 所以我使用 F O 例如 如果文本恰好是 是 则将背景更改为绿色
  • 如果水平进度条位于工具栏上方,则不可见(适用于 Android 5)

    我尝试通过以下 XML 将水平进度条放置在工具栏顶部 my activity xml
  • hadoop getmerge到另一台机器

    是否可以存储输出hadoop dfs getmerge命令到另一台机器 原因是我的本地机器没有足够的空间 作业输出为 100GB 我的本地存储为 60GB 另一个可能的原因可能是我想在另一台机器上本地处理另一个程序中的输出 并且我不想将其传
  • R data.table 使用标准名称创建新列

    我想根据比率计算为我的 data table 创建新列 我的变量的名称有点标准 所以我认为必须有一种方法可以轻松实现这一点数据表 但是我不知道如何实现这一点 以下是我的示例数据和代码 set seed 1200 ID lt seq 1001