在循环内粘贴指定的 3 列

2023-11-21

df<-data.frame(expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z"),c("l","m","n")));

我有这个有 4 列的表,我想将结果放在一个向量中,这样它应该是

paste0(df$Var1,df$Var2,df$Var4)

这里提出的问题只是为了演示目的,所以我希望它非常动态和灵活。

我正在寻找任何可以按指定连接 2、3 或 4 列的代码。

如果我们说

i<-1;
j<-2;
k<-4;
paste0(df[,i],df[,j],df[,k])

现在想象一下,如果 df 中有很多列,则执行相同的操作。还有列数以及哪些列应基于输入。

如果这是使用 data.table 包完成的,我将不胜感激。


我想你需要do.call.

df <- expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z"))
do.call(paste0, df)
#  [1] "apx" "bpx" "cpx" "aqx" "bqx" "cqx" "arx" "brx" "crx" "apy" "bpy" "cpy" "aqy" "bqy" "cqy" "ary" "bry" "cry" "apz" "bpz" "cpz" "aqz" "bqz" "cqz" "arz"
# [26] "brz" "crz"

既然你提到了data.table,让我构建正确的对象:

library(data.table)
# option 1
df <- data.table(expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z")))
# option 2
df <- expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z"))
setDT(df)

# then
df[, do.call(paste0, .SD)]
#  [1] "apx" "bpx" "cpx" "aqx" "bqx" "cqx" "arx" "brx" "crx" "apy" "bpy" "cpy" "aqy" "bqy" "cqy" "ary" "bry" "cry" "apz" "bpz" "cpz" "aqz" "bqz" "cqz" "arz"
# [26] "brz" "crz"

With data.table's .SD您可以指定某些列,例如df[, do.call(paste0, .SD), .SDcols = c(i, j, k)].


您需要选择的列只是一个列子集,aladf[,c(1,2,4)].

df <- expand.grid(c("a","b","c"),c("p","q","r"),c("x","y","z"),c("l","m","n"))
i <- 1
j <- 2
k <- 4
do.call(paste0, df[,c(i, j, k)])
#  [1] "apl" "bpl" "cpl" "aql" "bql" "cql" "arl" "brl" "crl" "apl" "bpl" "cpl" "aql" "bql" "cql" "arl" "brl" "crl" "apl" "bpl" "cpl" "aql" "bql" "cql" "arl"
# [26] "brl" "crl" "apm" "bpm" "cpm" "aqm" "bqm" "cqm" "arm" "brm" "crm" "apm" "bpm" "cpm" "aqm" "bqm" "cqm" "arm" "brm" "crm" "apm" "bpm" "cpm" "aqm" "bqm"
# [51] "cqm" "arm" "brm" "crm" "apn" "bpn" "cpn" "aqn" "bqn" "cqn" "arn" "brn" "crn" "apn" "bpn" "cpn" "aqn" "bqn" "cqn" "arn" "brn" "crn" "apn" "bpn" "cpn"
# [76] "aqn" "bqn" "cqn" "arn" "brn" "crn"

正如 GregorThomas 在评论中所说,data.table- 形式为:

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

在循环内粘贴指定的 3 列 的相关文章

  • 有没有办法在 RStudio 中调试 RScript 调用?

    假设我从命令行运行 R 脚本 如下所示 Rscript prog R x y z 我想检查某一行的代码 目前 我无法在 RStudio 中以交互方式调试它 因为我不知道如何传递参数 由于它设计为从命令行运行 因此如何通过命令行 RStudi
  • 如何调整ggplot直方图的时间刻度轴

    我正在使用一个数据框 其中一列包含POSIXct日期时间值 我正在尝试使用绘制这些时间戳的直方图ggplot2但我有两个问题 我不知道如何设置 binwidthgeom histogram 我想将每个垃圾箱设置为一天或一周 我尝试提供 di
  • 将summary()写入as.data.frame以在ggplot / R中使用

    请查找 af 数据样本t below 我正在使用以下方法进行竞争风险分析etmCIF来自etm package 产生以下结果 这很好 但需要更好的图形 曾经有一个ggtrans etm函数将数据导入ggplot 然而 这个功能显然被删除了
  • R-了解 akima::interp 结果中的 NA 值

    我有以下数据框 ref dat k Intensity Slope 1 0 021467214 33 16 2 0 012444759 33 8 3 0 006079156 33 4 4 0 003792025 33 2 5 0 02276
  • 在函数内部调用 clusterApply 时,性能会下降

    我遇到了一个奇怪的问题clusterApply 我已经能够尽可能地隔离它 如下所示 首先 我从全局环境运行以下代码 require parallel cl lt makeCluster rep localhost 20 SOCK xl lt
  • 将列表中的列转换为 R 中的数据框

    我有使用 R 创建的以下列表 set seed 326581 X1 rnorm 10 0 1 Y1 rnorm 10 0 2 data data frame X1 Y1 lst lt replicate 100 df smpl lt dat
  • ggplot 中的错误问题:“grid.Call(”L_textBounds“, as.graphicsAnnot(x$label), x$x, x$y, … 中的错误”[重复]

    这个问题在这里已经有答案了 我试图在 ggplot 中制作一个条形图 其中我通过强制其中一些标签为长度为零的字符串 即 来指定要显示的标签 但是 我收到错误 Error in grid Call L textBounds as graphi
  • 查找数据帧列表中同一列中的所有重复值并将其转换为 NULL

    我有一个清单BELGIAN COAST list包含数百个数据帧 df1 df2 15 列 X 1000 行 每个数据帧的最后一列称为Chemicals并包含一些字符 例如Sulfate or Ammonia 但是这一列有很多行Chemic
  • 使用 dplyr:group_by 将数据帧分成多个子集?

    有没有办法根据 group by 组使用 dplyr 将一个数据帧拆分为数据帧的子集 mtcars gt group by cyl gear gt codes 非常感谢 好吧 并不是你真的想要 但你可以这样做tidyr 即nearly一样的
  • 限制数据框中所有单元格的字符串长度?

    您好 有没有一种方法可以限制 data frame 中所有列的字符串文本大小 而不必循环遍历每一列并一次使用 str trunc 之类的东西 例如下面的数据框 我可以将所有文本大小限制为仅 5 个字符 而不必一次只执行一列吗 如果有 50
  • R.matlab/readMat:readTag(this) 中出错

    我正在尝试使用 R matlab 将 matlab 文件读入 R 但遇到此错误 require R matlab r lt readMat file mat verbose T Trying to read MAT v5 file stre
  • 如何更改 Shiny 中 navbarPage 折叠的断点

    我想用shiny navbarPage collapsible TRUE 当在小屏幕上查看我的 Shiny 应用程序时 将导航元素折叠到菜单中 默认情况下 当浏览器宽度小于 940 像素时会触发折叠 有什么方法可以改变这一点 以便在稍大的浏
  • 仅保留百分比的尾随零

    给出以下示例 library pander tableAbs lt Titanic 1 1 tablePct lt round prop table tableAbs 100 2 table lt cbind tableAbs tableP
  • 比较 R 中的两个字符向量

    我有两个 ID 字符向量 我想比较这两个字符向量 特别是我对以下数字感兴趣 A和B各有多少个ID 有多少个ID在A中但不在B中 有多少个ID在B但不在A 我还想画维恩图 以下是一些可以尝试的基础知识 gt A c Dog Cat Mouse
  • SQL 连接两个没有关系的表

    我有具有相同结构的不同表 我想通过其中一列将它们连接起来 问题是他们不共享该专栏中的信息 Table 1 Type A Name Value Table 2 Type B Name Value 结果表 在单列中 nameFromA name
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • 如何计算嵌套函数中的粘合表达式?

    我正在尝试嵌套一个函数 该函数将两个字符串粘合在一起 该函数使用组合字符串来命名数据帧的列 然而 问题似乎是粘合表达式没有足够早地评估为字符串 我可以 并且应该 强制在将表达式作为参数传递给另一个函数之前对其进行求值吗 library ti
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • R 中的 Websocket

    我设法在 R 中建立到 Mtgox websocket 的连接 规格如下 url https socketio mtgox com mtgox Currency USD https socketio mtgox com mtgox Curr
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY

随机推荐

  • 在 R 中将千字节、兆字节等转换为字节

    R中是否有标准函数来转换表示字节数的字符串 例如 11855276K 113M 2 40G 到整数字节 我碰到humanReadable在 gdata 包中 但这会以相反的方式进行转换 我知道我可以解析该字符串 然后自己进行数学计算 但我想
  • Rails 中具有动态内容的侧栏设计模式

    我想要一个右侧栏 其中每个页面的内容都会发生变化 例如 当我在 朋友 页面时 侧栏应显示 新朋友 当我在帐户页面时 侧栏应显示最近的活动 我应该如何处理这个问题以尊重 Rails 设计模式 我听说过 Cells gem 但我不确定是否使用它
  • Nginx 不会重新启动。 。 。 nginx.service 的作业失败,因为控制进程退出并出现错误代码

    我正在关注一个关于设置 Nginx 的 YouTube 视频 我正在重新启动 当我得到其中的部分时 它给出了 我需要编辑服务器块文件 sites enabled default 我完全按照他们在视频中所做的操作 但是当保存并尝试重新启动时
  • Ruby 相当于 C# 的“yield”关键字,或者创建序列而不预先分配内存

    在 C 中 你可以这样做 public IEnumerable
  • Python ElementTree - 按顺序迭代子节点和文本

    我正在使用第三个 python 和 ElementTree API 我有一些以下形式的 xml
  • 如何将 angularjs ng-click 与 html5 数据列表一起使用

    我正在使用 AngularJS 并且我想使用该指令ng click当选择数据列表 html5 的元素时 这是我的实际代码的示例
  • Maven 使用 JAX-WS 2.1 而不是 JAX-WS 2.2

    我将 Netbeans 7 与 Maven 2 2 1 和 jaxws maven plugin 1 12 一起使用 代码部署在 Glassfish 3 1 上 或者当我编译它时就会部署 当我构建项目时 wsimport 按预期运行并从提供
  • Vim 变量语法高亮

    我想更改我的 vim 配置文件 以允许仅突出显示我声明的变量 而不是关键字 这篇文章展示并解释了我的意思 替代语法突出显示 我是 vim 的初学者 我从未更改过默认配置文件 有人能指出我正确的方向吗 作为概念证明 我尝试过 let vars
  • Java 9 ServiceLoader运行时模块加载和替换

    我刚刚读到 Java 9 模块系统 我想问一下ServiceLoader 当应用程序已经启动时 有什么方法可以添加服务实现吗 删除一些服务实现怎么样 使用案例 我将有一些可以计算某些内容的应用程序 计算算法将在某些服务 Java 9模块 中
  • java 整数引用

    我有一个问题 public class Jaba public static void main String args Integer i new Integer 0 new A i System out println i new B
  • 如何首先使用EF核心代码制作联接表

    我有这三个模型 public class Card public int ID get set public string Name get set public string Class get set public string Ima
  • 铸造和转换有什么区别? [复制]

    这个问题在这里已经有答案了 埃里克 利珀特 Eric Lippert 的评论这个问题让我彻底困惑了 C 中的强制转换和转换有什么区别 类型转换是一种告诉编译器 对象 X 实际上是类型 Y 继续这样对待它 的方式 转换是说 我知道对象 X 不
  • 在模式内部/上方显示谷歌选择器

    有没有办法让谷歌驱动器选择器显示在自定义模式或 div 中 我有一个模式 其中有多个提供商用户可以选择 例如谷歌 保管箱 该模式包含其中的所有 js 和 css 文件 所以当我点击谷歌驱动器选择器时iframe嵌入到body在我的模态后面
  • 重新加载/刷新 Kendo Grid

    如何使用 Javascript 重新加载或刷新 Kendo Grid 通常需要在一段时间或用户操作之后重新加载或刷新网格 您可以使用 GridName data kendoGrid dataSource read GridName data
  • 在单个查询中更新多个三元组的 SPARQL 更新示例

    谁能指点我一个valid任何文档中的 SPARQL 中的 UPDATE 语句 无论是 W3C virtuoso 语义网页还是您自己的自定义代码等 它必须符合 WHERE 规范 并且在单个查询中更新多个三元组 Thanks 编辑 示例 这是我
  • PyQt:如何获取大部分 QListWidget

    该代码构建了一个对话框 其中包含一个QListWidget和一个单一的Q按钮 单击该按钮将添加一个列表项 右键单击列表项会弹出右键菜单 其中包含 删除项 命令 选择 删除项目 命令将从列表小部件中删除列表项目 看看如何实现以下 ListWi
  • 集成 BouncyCastle Jar 时遇到问题

    好吧 我现在就说我对Java知之甚少 他们给了我一个充气城堡罐子 并告诉我里面装有我完成这项任务所需的东西 Jar 文件是bcprov jdk15on 147 jar 我也在学校维护的 Unix 机器上执行此操作 因此我无法进入并使用所有
  • 使用 PhoneGap HTML 在 iOS 中自定义 JavaScript 警报

    我的应用程序有几个 JS 警报 它似乎总是显示页面名称 索引 html 有没有办法将index html更改为我的应用程序的名称或自定义文本 Example My App Which replaces index html alert I
  • jquery ui滑块显示值

    我有一个值为 1 5 的滑块 它更新 ID 为 天 的隐藏输入 function slider slider value 3 min 1 max 5 step 1 slide function event ui days val ui va
  • 在循环内粘贴指定的 3 列

    df lt data frame expand grid c a b c c p q r c x y z c l m n 我有这个有 4 列的表 我想将结果放在一个向量中 这样它应该是 paste0 df Var1 df Var2 df V