通过名称或索引引用列的函数

2024-03-11

我希望能够在一个向量中按名称和索引引用列。作为示例,我仅指定:

编辑:我更改了原始向量的顺序,因为我希望顺序无关紧要。

columns <- c(1:7, "j", 8, "i")

然后我想检索索引 1 到 9 的名称并将它们添加到向量中(在正确的位置)。我有一个总体想法,但在编码方面我还没有走得太远:

library(data.table)
df <- fread(
"a b c d e f g h i j
1 2 3 4 5 6 7 8 9 10",
  header = TRUE
)

function(data, columns){
nums <- as.numeric(columns)
named_columns <- ?
nums <- nums[!is.na(nums)]
name_nums <- colnames(df)[nums]

all_columns <- setdiff(named_colums, name_nums)
# Order of the original vector?
column_names <- result
}

然后将其返回给向量,结果将是:

column_names <- c("a", ..., "j", "h", "i")

有人可以帮助我走得更远吗?


如果我理解你的问题,你想传递一个具有列名称和索引的向量,并且你想返回一个仅包含列索引的向量。那么以下内容应该有所帮助;

df <- data.table::fread("a b c d e f g h i j
                         1 2 3 4 5 6 7 8 9 10",
                                               header = TRUE)
columns <- c(1:8, "i", 9, "j")


col2num <- function(df, columns){
              nums <- as.numeric(columns)
              nums[is.na(nums)] <- which(names(df)==columns[is.na(nums)])
              return(nums)
            }

col2num(df, columns)
#> Warning in col2num(df, columns): NAs introduced by coercion
#>  [1]  1  2  3  4  5  6  7  8  9  9 10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过名称或索引引用列的函数 的相关文章

  • R 中的输出,避免写“[1]”

    I use print从 R 中的函数输出 例如 print blah blah blah 这输出 1 blah blah blah 到控制台 我怎样才能避免 1 和引号 Use cat Your string type cat查看帮助页面
  • R Shiny UI 子选项复选框?

    我有一个基本的 RShiny 应用程序 它有一个反应式复选框 它根据复选框中选择的数据 df 列 绘制时间序列数据 我当前的代码生成一个带有复选框输入的 UI 如下所示 Load R packages library shiny libra
  • 如何在gcc中打印UINT64_t?

    为什么这段代码不起作用 include
  • 如何在 R 中创建循环来生成随机样本列表?

    我正在尝试创建一个循环来创建一系列包含随机样本的对象 如下所示 sample lt ceiling runif 9 min 0 max 20 这是圆形制服的示例 但它可以替换为普通 泊松或任何您想要的 因此 我构建了一个循环来自动生成各种生
  • 矩阵中两个字符串的最大 nchar

    我想找到更好的方法来找到我正在相互比较的两个字符串的更大的 nchar 假设我有字符串句子匹配data frame 和我需要创建一个 max nchar string1 nchar string2 矩阵 但没有 for 循环 这是非常慢的方
  • 不理解..密度的行为

    在下面的数据框中 我预计密度的 y 轴值为 0 6 和 0 4 但它们是 1 0 我觉得我使用的方式显然缺少一些非常基本的东西 密度 但是我的大脑冻结了 我将如何使用 密度 获得所需的行为 任何帮助将不胜感激 df lt data fram
  • 递归累积函数

    我需要在 R 中编写一个累积求和函数 但我一直碰壁 该函数具有以下结构 a x1 a x2 a 2 x1 a x3 a 2 x2 a 3 x1 a x4 a 2 x3 a 3 x2 a 4 x1 等等 cumsum 似乎不适用于此类功能 有
  • 根据条件计算平均值

    下面是我的数据框 Row ID A B 1 0 0 2 0 0 3 0 0 4 0 1 5 0 1 6 0 1 7 62 75 0 8 100 0 9 100 0 10 100 1 11 100 1 12 100 1 13 100 1 14
  • 确定 R 中的组是否重复某个值

    我有一个包含许多列和行的数据 我想通过创建新的逻辑变量来确定某个组的值是否重复 相同 所以我的数据如下所示 v0 lt c 1 2 3 4 5 6 7 8 9 v1 lt c a b a c e c b b e v2 lt c R NA R
  • 非法转义字符“\”

    我想在链接末尾获取名称 所以我这样做了 if invName substring j k equals copyf invName substring 0 j Eclipse 说字符串文字没有用双引号正确关闭 如何将字符串与此字符进行比较
  • 使用 ggplot 未完全填充等值线图

    我正在尝试使用以下方法绘制我的第一个填充等高线图ggplot 根据我的数据 我期待类似的结果 但我的结果是 a lt c 1 1 1 1 1 3 1 2 2 2 2 2 2 5 2 1 3 3 3 3 1 3 2 b lt c rep c
  • 如何根据原始元素将向量中的元素替换为另一个元素[重复]

    这个问题在这里已经有答案了 请考虑以下程序 这是一个最小化的示例 所以不要纠结于我在这里尝试做的事情可以通过以下方式更好地实现 HashMap
  • Javascript 函数指针,以参数作为函数中的参数

    不确定标题的措辞是否正确 或者是否有更好的表达方式 但我认为还可以 无论如何 到目前为止我了解以下内容 a b a b c foo 其中 foo 是在其他地方定义的函数 不接受任何参数 只会导致函数 a b 使用上述参数运行 然后可以在函数
  • R 抑制系统或 shell 命令的控制台输出

    我有这个 Windows 批处理文件 我使用 R 从 R 调用该文件shell 命令 该批处理文件执行一些计算并将它们写入磁盘上 也写入屏幕上 我只对磁盘输出感兴趣 我无法更改批处理文件 批处理文件可能有点愚蠢 例如 echo off ec
  • 如何在 rmarkdown 中显示带有 results='asis' 的格式化 R 输出

    当使用 results asis 时 有没有办法在 rmarkdown knitr 中显示格式化程序 R 输出 一个例子是以下函数 myfun lt function cat hello n cat c one 1 two 2 然后 该块将
  • ggplot() 使用scale::percent_format() 缩放产生奇怪的结果

    library tidyverse mtcars gt count cyl gt mutate prop n sum n gt ggplot aes x cyl y prop geom point scale y continuous la
  • 如何用C++解析复杂的字符串?

    我试图弄清楚如何使用 解析这个字符串sstream 和C 其格式为 string int int 我需要能够将包含 IP 地址的字符串的第一部分分配给 std string 以下是该字符串的示例 std string 127 0 0 1 1
  • 如何在主图区域之外的 ggplot2 中添加多个标题

    我想为页脚添加两个标题 但 ggplot 似乎只需要 1 是否有解决方法可以将注释或 geom text 添加到左下角和右下角 library ggplot2 p lt ggplot mtcars aes x wt y mpg geom p
  • C 中什么函数可以替换字符串中的子字符串?

    给定一个 char 字符串 我想查找所有出现的子字符串并将其替换为备用字符串 我没有看到任何简单的函数可以实现这一点
  • 将小数格式化为两位或整数

    对于 10 我想要 10 而不是 10 00 对于 10 11 我想要 10 11 没有代码可以实现吗 即通过指定格式字符串类似于 0 N2 decimal num 10 11M Console WriteLine num ToString

随机推荐

  • 如何在 htaccess 中启用阿拉伯语 slug?

    我有一个多语言网站 我正在尝试创建一个友好的 URL 在我的数据库中 我有slug场地 当文章的标题是英文时 slug 会出现在 url 中 并且重定向工作正常 但当标题是阿拉伯语时 会出现 slug 并且重定向显示 未找到对象 page
  • 请解释闭包,或将循环计数器绑定到函数范围

    我见过程序员使用计数器在循环内分配事件侦听器 我相信这是语法 for var i 0 i lt someArray length i someArray i onclick function i Some code using i i 有人
  • Material ui 'new' v5.0.0jectFirst 无法设置特异性

    MUI v5 0 0今天发布了 在我的尖峰分支中 我正在尝试更新到新版本 我正在执行 mui docs 中详细的步骤here https mui com guides migration v4 theme 我在用styled compone
  • 如何自动化 Google 主页自动建议?

    这是我的测试类 包含所有代码行 我认为问题出在 xpath 中 因为它无法找到元素 package practice import java util List import org openqa selenium By import or
  • 错误 E QUERY [thread1] 语法错误:使用和/或使用 find() 的属性 id @(shell) 无效

    我在使用此查询时收到错误 db a find or name aekansh age 21 pretty 作为 E 查询 thread1 语法错误 无效的属性 id shell 1 11 集合 a 将数据存储为 id 10 name aek
  • Firestore PERMISSION_DENIED

    当我在 macOS 上编写 flutter 应用程序时遇到这个问题 相同的基本代码在我的 Windows 电脑中工作 但在 macOS 中不起作用 正如您在我的日志中看到的 应用程序已连接 但我仍然无法对我的 Firestore 数据库发出
  • iPhone DropBox API:如何加载文件?

    关于 dropBox 集成到 iPhone 应用程序中的一个非常基本的问题 我按照 DropBoxSDK 的设置进行操作 一切正常 我可以登录我的帐户并将其链接 所以我正确地设置了一切 现在我想用它简单地从 dropBox 加载文件并再次保
  • JSF 错误消息和程序卡住。 JSON 解析错误和 primefaces

    我在facelets中有以下形式
  • 使用Java DSL的Camel CXF POJO模式

    我有一个预先存在的 Web 服务 连接 SOAP 如果可能的话 我想在不使用 Swing 框架的情况下进行调用 我遵循接触优先开发 使用 cxf wsdl2java 工具生成我的 java 文件 我希望从 java 对象中提取用户名和密码并
  • 从 C# 创建 COM 索引属性?

    我正在尝试用新的 net dll 来模仿旧的 vb6 dll 模仿必须是完美的 以便调用者不知道他们正在使用新的 dll 不过我有一个好奇心 在 VB6 中 对象库中有以下内容 Property BankList Index As Long
  • std::bad_Optional_access 是针对异常的小犯罪吗?

    If std optional s value 成员函数被调用时optional没有初始化实际值 astd bad optional access被抛出 因为它直接源自std exception 你需要catch std bad optio
  • Java 泛型和接口

    有这样的设计 interface Foo
  • 如何向 iPhone 应用程序添加注销功能?

    我有一个具有以下布局的应用程序 当您打开应用程序时 您会看到登录屏幕 您登录后会看到一个包含 3 个选项卡的选项卡栏 登录视图在选项卡栏的appdelegate中显示为presentModalView 在第三个选项卡中有一个注销按钮 我希望
  • Python ctypes:复制结构的内容

    我想用 ctypes 在 Python 中模仿一段 C 代码 代码如下 typedef struct int x int y point void copy point point a point b a b 在 ctypes 中不可能执行
  • __init__() 缺少 1 个必需的位置参数

    我正在努力学习Python 这是一个非常简单的代码 我在这里想做的就是调用类的构造函数 初始化一些变量并打印该变量 但它给了我一个错误 missing 1 required positional argument class DHT def
  • 在 Mac OS 中使用 JAVA 注册表

    我写了一个Java桌面应用程序在Windows正在使用的平台Windows注册表保存应用程序信息 例如应用程序位置 时间段 例如最多 30 天的免费试用 等 现在 我想创建相同的java应用程序来运行Mac OS 虽然大多数java代码是相
  • 为什么一个文件对象刷新,而另一个文件对象不刷新?

    我想要一个在写入数据时直接刷新到文件的文件对象 并写道 class FlushingFileObject file def write self args kwargs return val file write self args kwa
  • 通过点击铅笔调用监听器(primefaces 2.2.1 rowEditor)

    在 rowEditor 上单击铅笔后如何调用侦听器 我想从 dataTable 中准备文本进行编辑 清除制表符和回车符的 html 标签 你有什么想法 谢谢 实际上 数据表中没有铅笔事件 如果你想在铅笔点击后调用监听器 你可以这样做 将 r
  • JPA (Hibernate) + Spring:处理唯一约束违规

    我有一个具有唯一字段的实体 A 该字段基本上定义了该实体 这意味着它是相等的 那么实体也完全相同 第二点是 如果违反该约束 那么绝不是例外 这意味着完全可以预期用户会尝试输入重复项 如果出现重复 应用程序应该默默地选择已经存在的实体 我现在
  • 通过名称或索引引用列的函数

    我希望能够在一个向量中按名称和索引引用列 作为示例 我仅指定 编辑 我更改了原始向量的顺序 因为我希望顺序无关紧要 columns lt c 1 7 j 8 i 然后我想检索索引 1 到 9 的名称并将它们添加到向量中 在正确的位置 我有一