首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何像这样在R data.table中组合两列:

在R data.table中组合两列可以使用paste函数或paste0函数。这两个函数都可以将两列的值按照指定的分隔符进行组合。

  1. 使用paste函数:
代码语言:txt
复制
library(data.table)

# 创建一个示例数据表
dt <- data.table(col1 = c("A", "B", "C"), col2 = c("1", "2", "3"))

# 使用paste函数组合两列
dt[, combined := paste(col1, col2, sep = "_")]

# 查看结果
dt

输出结果:

代码语言:txt
复制
   col1 col2 combined
1:    A    1      A_1
2:    B    2      B_2
3:    C    3      C_3
  1. 使用paste0函数:
代码语言:txt
复制
library(data.table)

# 创建一个示例数据表
dt <- data.table(col1 = c("A", "B", "C"), col2 = c("1", "2", "3"))

# 使用paste0函数组合两列
dt[, combined := paste0(col1, "_", col2)]

# 查看结果
dt

输出结果:

代码语言:txt
复制
   col1 col2 combined
1:    A    1      A_1
2:    B    2      B_2
3:    C    3      C_3

以上两种方法都可以将col1col2的值按照"_"进行组合,并将结果存储在新的列combined中。这样可以方便地在data.table中进行列值的组合操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

问与答62: 如何按指定个数Excel获得一数据的所有可能组合

excelperfect Q:数据放置A,我要得到这些数据任意3个数据的所有可能组合。如下图1所示,A存放了5个数据,要得到这5个数据任意3个数据的所有可能组合,如B中所示。...如何实现? ? 图1 (注:这是无意在ozgrid.com中看到的一个问题,我觉得程序编写得很巧妙,使用了递归的方法来解决,非常简洁,特将该解答稍作整理后辑录于此与大家分享!)...A Set rng =Range("A1", Range("A1").End(xlDown)) '设置每个组合需要的数据个数 n = 3 '在数组存储要组合的数据...p Then lRow = lRow + 1 Range("B" & lRow) = Join(vResult, ", ") '每组组合放置...如果将代码中注释掉的代码恢复,也就是将组合结果放置,运行后的结果如下图2所示。 ? 图2

5.6K30

R︱高效数据操作——data.table包(实战心得、dplyr对比、key灵活用法、数据合并)

data.table,还有一个比较特立独行的函数: 使用:=引用来添加或更新一(参考:R语言data.table速查手册) DT[, c("V1","V2") := list(round(exp(V1...筛选变量的数据,也可以与%in%集合运算联用(集合运算见博客:R语言︱集合运算)。...—————————————————————— 实战一:data.table如何选中如何循环提取、操作data.table?...除了行,就是的问题了。data.table操作,真的是费劲。。。 常规来看, data[,....,相对于对数据框的操作 这样就可以普通的数据框一样使用,谢谢留言区大神!!!!

8.4K43
  • R语言学习笔记之——数据处理神器data.table

    R语言作为专业的统计计算语言,数据处理是其一大特色功能,事实上每一个处理任务R语言中都有着不止一套解决方案(这通常也是初学者入门R语言时,感觉内容太多无从下手的原因),当然这些不同方案确实存在着性能和效率的绝大差异...合理选择一套自己的数据处理工具组合算是挺艰难的选择,因为这个涉及到使用习惯和迁移成本的问题,比如你先熟知了R语言的基础绘图系统,没有强大的驱动力的情况下,你可能不太愿意画大把时间去研究ggplot2,...然后根据自己掌握的现状选择最熟练的一套,随着时间的推移慢慢发现现有工具组合的不足,开始尝试往更加高效、简介的工具迁移,这样以需求为推动力的技能升级和迁移更为彻底和明确。...data.table 1、I/O性能: data.table的被推崇的重要原因就是他的IO吞吐性能在R语言诸多包首屈一指,这里以一个1.6G多的2015年纽约自行车出行数据集为例来检验其性能到底如何,...DT[i,j,by] 如果这个过程是SQL是由select …… from …… where …… groupby …… having 来完成的,R的其他基础包起码也是分批次完成的。

    3.6K80

    R练习50题 - 第一期

    虽然具有明显的金融背景,但是它和其他学科所遇到的数据集是相通的:我们的数据集中,每个股票代码symbol和日期date的组合都决定了唯一的一个观测,相当于数据集的key,这种由“横截面”与“时间序列”...unique:找出symbol不重复的值。 data.table的语法,先进行列选择操作,再对进行处理。所以上述语句会先执行str_detect,再执行unique。...这是因为data.table的第一个语句用来对进行选择,由于我们这里需要对所有进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码的核心。先来看keyby = ....我们的答案,行、以及分组三条语句各占一行,实际上这仅仅是为了让代码更直观。...如果你愿意,data.table允许你把所有的代码都写在同一行,就像这样: 下期预告 在下一期,我们会继续带来剩余题目的解答~ 大猫的R语言课堂 我是大猫,一个高中读文科但却在代码、数学的路上狂奔不止的

    2.5K40

    能不能让R按行处理数据?

    如果要自己寻找Stackoverflow上与R或是data.table相关的问题,可以搜索栏输入[R] [data.table] Your question。 提 出问题 好啦,开始上课!...解 题思路 解决本问题的过程我们需要用到data.table包!...解 题步骤 如何rearrange呢?eddi大神的意思是,原来inti_total_asset和issuing_scale是个变量,现在要把他们stack起来,“堆成”一,也就是这样: ?...唯一需要注意的有点。首先,别忘了mean的na.rm = T参数,它能够让函数忽略缺失值。...本 期总结 本期大猫带领大家学习了如何R按照行进行处理。R的数据处理哲学是向量,是,但这并不妨碍我们按照行进行处理,其中的关键,就在于运用 c() 函数把不同的向量拼接成一个向量。

    1.4K20

    懒癌必备-dplyr和data.table让你的数据分析事半功倍

    接下来,我就为大家分享几个我工作当中最常用来做数据分析用到的包,dplyr和data.table,我保证你get到这个包后,就再也不想用R里面自带的基础包函数进行数据分析了!!...以外的所有 distinct( ) 去重 distinct(df,V1,V2) 根据V1和V2个条件来进行去重 基础包里面也有一个去重函数unique() ※注意distinct()可以针对某些进行去重...①第一个参数都是数据集df ②查询条件都是关于如何操作数据集的,列上面进行操作 ③返回的都是新的数据集,不会改变原始数据集 介绍下一个包之前,我们先来引入一个dplyr包的综合运用: grouped...data.table把我们刚刚用group_by和summarise组合才能实现的功能,直接在一句代码里面就实现了,而且代码的可读性和可扩展运用性非常强!...以上讲的这些只是我工作data.table用得最多的功能,它的强大之处还远远不止这些!如果你想深入,可以去官网下载文档,你绝对值得拥有!

    2.4K70

    Matt Dowle 演讲节选(一)

    data.table 也是 github 第八大受关注的 R 开源项目。此外,data.table是目前 RStudio CRAN 镜像中下载最多包。...实战data.table 获得了 Kaggle 排名第一的 Gilberto 的青睐,他的原话很直接—— data.table is COOL!!!...在这段21分33秒的演讲,Matt 回顾了自己伦敦大投行的工作经历(雷曼兄弟以及所罗门兄弟)、自己与 R 的偶遇以及开发 data.table 的动机。...DF <- data.frame( A = letters[1:3], B = c(1, 2, 3)) > DF A B 1 a 1 2 b 3 3 c 5 Pat:我刚才输入了...后来我下载了 R几乎没有任何改动的情况下把 S-PLUS 的代码粘贴了过去。代码的主要任务是生成许多随机资产组合,因此它包含一个很长的 for 循环。

    64720

    R语言:data.table语句批量生成变量

    问题提出 在上一期,还记得我们留下的那个彩蛋吗?...我们在对多标准进行筛选时,之前我们还进行了一步非常重要的提取,也就是将每一观察值提取出某一特定的字段,而后生成一系列变量,这些变量的观测值只可能存在三种情况:醛固酮、继发性醛固酮或者NA。...经过这样的处理我们才能进行上一期公众号所讲述的下一步:以多标准进行筛选的操作。...在这里通过链接的推送的lapply使用原理,再加上stringr包str_match这个函数的使用,截取出诊断结果中出现过的继发性醛固酮或者醛固酮,没有出现过的自动记为NA。...str_c(colnames(clinic)[2:23], "_xtrct") 最后我们把 ':=' 左右边的代码组合在一起,放入data.table语句的j中就是我们一开始所讲述的代码。

    1.2K20

    5个例子比较Python Pandas 和R data.table

    Python和R是数据科学生态系统种主要语言。它们都提供了丰富的功能选择并且能够加速和改进数据科学工作流程。...在这篇文章,我们将比较Pandas 和data.table,这个库是Python和R最长用的数据分析包。我们不会说那个一个更好,我们这里的重点是演示这个库如何为数据处理提供高效和灵活的方法。...这个库都允许一个操作应用多个聚合。我们还可以按升序或降序对结果进行排序。...N”可作为data.table的count函数。 默认情况下,这个库都按升序对结果排序。排序规则在pandas的ascending参数控制。data.table中使用减号获得降序结果。...示例5 最后一个示例,我们将看到如何更改列名。例如,我们可以更改类型和距离的名称。

    3.1K30

    data.table语句批量处理变量

    问 题:批量处理表变量 正式开始说问题之前,我们先回顾一下data.table的基本语句DT[i, j, by],简而言之,"i"是对行进行选择,"j"是对进行操作,"by"是分组。...批 量处理法:用lapply批量处理变量 在此时lapply的妙用就显现出来了,Rlapply用来对list每一个element进行相同处理,如何把它运用到data.table,话不多说先上代码:...我们知道data.table,.SD是经过i和by处理之后剩下的那部分数据集,它的格式是一个data.table,同时它是一个list。...如何把处理好的这些变量与变量名进行对应,这里就用到了colnames()这个函数,提取出我们这个data.table第3到第34个变量的名字,这样就可以将变量名和更改格式后的变量按顺序进行一一匹配。...大家在运用的过程必须要注意。 下 期预告 下期的大猫R语言课堂还是由村长来进行撰写和推送,届时将会给大家带来一个比较有趣的data.table发现,敬请期待!! ?

    1.2K30

    data.table包使用应该注意的一些细节

    as.matrix作用于data.table时会调用as.matrix.data.table,有一个rownames参数可以指定保留为行名的 矩阵转换成data.table时可以保留列名   ...as.data.table函数同样有一个rownames参数,设置为T可以将行名保留下来作为data.table的一 不建议set和for循环一起使用   虽然set可以在内存上直接改变数值,但在R...的0.6就不等于0.6, 虽然很费解,但这是因为计算机存储浮点数时出现的一些问题。...现在只发现seq函数会出现这种情况,manual中提供了一个函数解决这个问题,setNumericRounding(2) ,去除最后个字节,这样运行的更快,也不会出现0.6不等于0.6的问题 支持数据框取交集和并集...分隔,分割成c1,c2 支持类似于SQLs的分组运算   带有rollup, cube, groupingsets函数 参考资料 data.table 1.11.2 manual:https://cran.r-project.org

    1.5K10

    经验总结 | 最有效的R学习路径(一)

    写 在前面 小伙伴问大猫的所有关于R的问题中,“如何最快学R”应该是呼声最高的话题了。以前大猫曾经把自己的经验总结成一篇万字长文发在人大经济论坛,但是由于篇幅太长,很少有小伙伴有时间看完。...——Hadley Wickham ” 小伙伴们肯定有这样的经历:写论文的过程,绝大部分的时间都用来清理数据,例如剔除异常值、表与表之间的匹配与连接、数据分类汇总等,而最后用来跑回归的时间可能就只有十几秒左右...大猫自己比较者之后,选择了data.table。.../wiki/Getting-started data.table进阶 学习所有语言一样,练习永远是第一位的,但是很多时候我们找不到合适的习题,这个时候大猫向大家隆重推荐stackoverflow上的R...在这里大家会提出自己R编程遇到的问题,很多vote数比较高的问题相当有代表性,小伙伴们完全可以拿来当练习题,思考自己的答案,然后和下面网友给出的答案进行对比。

    1.1K20

    Matt Dowle 演讲节选(二)

    上期回顾 上次讲到 Matt 转移到 R 阵营之后,开始思考下面那个无法 S-PLUS 上面实现的命令,能否 R 实现呢?...2004年的第一天,Matt 离开了所罗门兄弟,也离开了 S-PLUS。他开始不断尝试,终于用自己的方式重写了[.data.frame这个函数,从而让sum(B) R 也能得以运行。...Matt 是这样想的:data.frame,如果我们想要选择region这个变量为特定值的关泽,那么代码就会是下面这样: > DF[DF$region == "US", sum(population...一个更极端的例子是,加入你 4G 内存 装下了一个 3G 的数据集,这时你想要删去其中的一都是不可能的,因为data.frame,哪怕删除操作都会导致数据集的复制!...(大猫:最新版本的 R ,这个问题已经明显缓解,但是这时已经过去了5年多)而在data.table,一切都是那么自然: > DF[, colToDelete := NULL] 哪怕你的数据集有

    1.1K40

    r」dplyr 里的 join 与 base 里的 merge 存在差异

    构造数据集 下面是一个可重复的例子,构造个数据集,一个是基于 data.frame 的列表,另一个是就要 data.table 的列表: x <- list( a = data.frame(r1...相同的数据,不同的操作函数存在差异 进行连接操作时,我们会发现 dplyr 的结果会报错!...本质上是 data.table 体格的泛型函数不支持类似基础包的操作。 如何编写代码支持对上述数据集的连接操作?...但特殊情况下,即类似我上述构造的数据集:数据子集不是所有但之间都存在共有的,但按照一定的顺序确实能够将其合并。...检查 be_join 第一个子集的与 to_join 存在共同 等待循环结束 我们可以查看结果: to_join[, c("r1", "r2", "r3", "r4", "r5")] #> r1

    1.6K30

    CSV数据读取,性能最高多出R、Python 22倍

    字符串数据集 I 此数据集且具有1000k行和20,并且所有不存在缺失值。 ? Pandas需要546毫秒来加载文件。 使用R,添加线程似乎不会导致任何性能提升。...单线程CSV.jl比从data.table读取的R速度快约1.5倍。 而多线程,CSV.jl的速度提高了约22倍! Pandas的read_csv需要34秒才能读取,这比R和Julia都要慢。...这些是异构的,其数据值类型有:String、Int、Float、Missing。 ? Pandas需要119秒才能读取此数据集。 单线程data.table读取大约比CSV.jl快倍。...可以看出,在所有八个数据集中,Julia的CSV.jl总是比Pandas快,并且多线程的情况下,它与Rdata.table互有竞争。...Julia,Python和R的测试,引发了网友们更多关于“技术更新”的热烈讨论。

    2K63
    领券