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

汇总名称在data.table中具有特定模式的列

在data.table中,可以使用正则表达式来筛选具有特定模式的列。具体而言,可以使用grep()函数来实现这一功能。

grep()函数接受两个参数:正则表达式模式和要搜索的字符向量。它返回一个整数向量,其中包含与模式匹配的元素的索引。

以下是一个示例,演示如何在data.table中查找具有特定模式的列:

代码语言:txt
复制
library(data.table)

# 创建一个示例data.table
dt <- data.table(
  col1 = c(1, 2, 3),
  col2 = c(4, 5, 6),
  col3 = c(7, 8, 9),
  column4 = c(10, 11, 12)
)

# 使用grep()函数查找具有特定模式的列
pattern <- "col"  # 模式为以"col"开头的列名
matching_cols <- grep(pattern, names(dt), value = TRUE)

# 输出匹配的列名
print(matching_cols)

输出结果为:

代码语言:txt
复制
[1] "col1"   "col2"   "col3"   "column4"

在这个例子中,我们使用grep()函数和正则表达式模式"col"来查找data.table中以"col"开头的列。最终,我们得到了匹配的列名。

对于data.table中具有特定模式的列,可以使用这个方法进一步进行各种操作,例如筛选、计算、重命名等。

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

相关·内容

R语言基因组数据分析可能会用到data.table函数整理

因此,在对大数据处理上,使用data.table无疑具有极高效率。这里主要介绍基因组数据分析可能会用到函数。...前面三个选项都是用新特定C代码写,较快; buffMB 每个核心给缓冲大小,1到1024之间,默认80MB; nThread 用核心数; showProgress 工作台显示进程...代表无变量; fun.aggregate 是否铸造之前汇总,应提供函数list(比如mean,sum或者c(sum,mean)),默认length; sep 铸造时候连接字符变量连接符...显示没有联合成功行列 value.var 填充值,默认会猜测 现在我需要取数据DTv1,v2两相同情况作为汇总一类,对它们v4值取平均,转换如下,...by ]语法做 但是如果我要将上述DTv3作为一个影响因素,作为tag,先按v1、v2汇总,再将对应v4值分为v3=1和v3=2两类,查看v1、v2取值相同v3不同对应v4情况,这个时候用dcast

3.4K10

R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table)

2.aggregate函数不能对分组后数据进行多种汇总计算,因此要用两句代码分别实现sum和max算法,最后再用cbind拼合。显然,上述代码性能和易用性上存在不足。...三、split – apply – combine模式——分组处理模式 对数据转换,可以采用split – apply – combine模式来进行处理: split:把要处理数据分割成小片断; apply...可以看到,计算结果第一实际上是“SELLERID.CLIENT”,我们需要把它拆分成两并调换顺序才行。...(iris$setosa)] #按照照setosa大小,重排Sepal.Length数据 四、dplyr与data.table data.table可是比dplyr以及python...data.table语法简洁,并且只需一行代码就可以完成很多事情。进一步地,data.table某些情况下执行效率更高。

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

    DT[i,j,by] 如果这个过程是SQL是由select …… from …… where …… groupby …… having 来完成R其他基础包起码也是分批次完成。...注意以上新建时,如果只有一,列名比较自由,写成字符串或者变量都可以,但是新建多,必须严格按照左侧列名为字符串向量,右侧为列表模式,当然你也可以使用第二种写法。...如果想要运行同时进行输出则可以结尾加上[] setorder(mydata,carrier,-arr_delay)[] ? 这个功能有点儿类似于基础函数语句外部加上圆括号。...以上语法加入了新参数.SDcols和.SD,咋一看摸不着头脑,其实是在按照carrier,origin,dest三个维度分组基础上,对每个子块特定进行均值运算。...就是如此简单,连接执行逻辑是,内侧是左表,外侧是右表,所以是DX left join DT 如果没有设置主键,需要显式声明内部on参数,指定连接主键,单主键必须在左右表名称一致。

    3.6K80

    MR应知应会:MungeSumstats包

    Sum 和整数值输出创建 N ,而 Giant、metal 或 ldsc 创建 Neff 或有效样本大小。如果传递多个,则会指示用于推导它公式。...strand_ambig_filter 应删除具有链模糊等位基因 SNP。默认为FALSE。 allele_flip_check 是否应根据参考基因组检查等位基因以推断是否需要翻转。...有时,汇总统计信息可以一行上有多个 RSID(即与一个 SNP 相关),例如“rs5772025_rs397784053”。...imputation_ind 应该为每个插补步骤添加一,以显示哪些 SNP 对不同字段具有插补值。这包括表示 SNP 等位基因翻转(翻转)字段。...但是,如果 youf 文件标题丢失,我们提供映射不正确,您可以提供自己映射文件。必须是 2 数据框,列名称为“未更正”和“已更正”。

    2K11

    开发ETL为什么很多人用R不用Python

    对比pythondatatable、pandas、dask、cuDF、modin,Rdata.table以及spark、clickhouse 3....探讨RETL体系 ETL在数据工作起着至关重要作用,主要用途有两个:(1)数据生产(2)为探索性数据分析与数据建模服务。...做过建模小伙伴都知道,70%甚至80%工作都是在做数据清洗;又如,探索性数据分析中会涉及到各种转置、分类汇总、长宽表转换、连接等。因此,ETL效率整个项目中起着举足轻重作用。...测试内容:对于id3, id4两分类汇总求v3中位数与标准差 data.table用时10.5秒 data[, ....目前本人工作负责一个项目的数据生产,大致流程如下。首先,用presto从hive读取数据,从ADB读取数据,数据量5G左右。

    1.9K30

    「R」数据操作(八):dplyr do, do, do

    data.table类似,dplyr也提供了do()函数来对每组数据进行任意操作。 例如将diamonds按cut分组,每组都按log(price) ~ carat拟合一个线性模型。...和data.table不同是,我们需要为操作指定一个名称,以便将结果存储。而且do()表达式不能直接在分组数据语义下计算 ,我们需要使用.来表示数据。...该不是典型原子向量,每个元素都是模型结果,包含线性回归对象列表。...~ carat, data = .) #> #> Coefficients: #> (Intercept) carat #> 6.78 1.25 需要完成高度定制操作时...假如我们需要分析toy_tests数据,要对每种产品质量和耐久性进行汇总。如果只需要样本数最多3个测试记录,并且每个产品质量和耐久性是经样本数加权平均数,下面是做法。

    1.6K31

    数据流编程教程:R语言与DataFrame

    实际使用,data.talbe::fread()读取速度可以比原生read.csv有3-10倍提升速度。...(): 按变量选择 filter(): 按行名称分片 slice(): 按行索引分片 mutate(): 原数据集最后一追加一些数据集 summarise(): 每组聚合为一个小数量汇总统计,通常结合...y 匹配部分 anti_join(x, y): 所有 x y 不匹配部分 (3)集合操作 intersect(x, y): x 和 y 交集(按行) union(x, y): x 和 y...并集(按行) setdiff(x, y): x 和 y 补集 (x不在y) 更多详细操作可以参考由SupStats翻译 数据再加工速查表,比Python老鼠书直观很多。...3. purrr purrr向Scala这样具有高级类型系统函数式编程语言学习,为data frame操作提供更多函数式编程方法,比如map、lambda表达式。

    3.8K120

    【技巧】如何快速按照日期分组

    问题提出 处理数据时候,我们常常需要按照日期对数据进行分类汇总,例如每周、每月、每年汇总等。常见做法是建立一个用于分类变量,然后再按照这个变量进行汇总。...再次,这种常规方法很难处理一些不规则日期间隔,例如我希望每隔3天对数据汇总一次;或者再变态一点,我希望把数据分成两组:一组是周三,另一组是非周三。遇到这种情况,我们该怎么办呢?...本期大猫将教大家使用 data.table keyby语句完成上述任务。...按照“是否为周三”进行分类 如果我们想把样本分成两组,一组是周三(True),一组是非周三(False),则只要使用 wday(date)==3来生成一值为 True或者 False向量就行。...按照“每个三天”分类 为了按照任意间隔进行分类,我们需要用到 data.table ceiling_date函数。

    2.4K30

    For循环与向量化(Vectorization)

    通过对水友们问题汇总,我们发现大多数水友存在一些R语言应用误区,在此出一期关于该问题解读。 问题提出 首先思考一个典型增长率计算例子。假设我们有一时间序列,每个都记录着时刻值。...向量作为最基本数据结构,其进行底层编写时候,进行了很大程度优化设计。向量有时候作为一种基本编写思路,是具有很高效率。有鉴于此,我们通过R语言最底层向量思维进行函数编写。...由于我们需要做是向量某一个元素与前一个元素处理结果,那么只需要将元素往后进行移位,与原来向量进行一一对应处理即可,这样便达到了以向量进行处理模式。...关于For循环和Vectorization深入思考 Vectorization更多包拓展 现在有很多R包会对底层一些函数进行优化,也即是对向量化进一步优化,我们选择效率较为强大data.table...通过运行结果可以发现,Rcpp调用底层循环略优于data.table向量化,运行时间0.03s左右。

    1.8K30

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

    R语言︱数据集分组、筛选(plit – apply – combine模式、dplyr、data.table) 同时,data.table与data.frame数据呈现方面,还有有所不同。...2、on=""方式 DT[X, on="x"] 这里on指的是DT变量变量名称,X还是按照key,如果没设置就会默认第一行为key。...—————————————————————— 实战一:data.table如何选中,如何循环提取、操作data.table?...除了行,就是问题了。data.table操作,真的是费劲。。。 常规来看, data[,....(x)] 还有 data$x 如果有很多名字很长指标,data.table如果按进行遍历呢? data[,1]是不行,选中方式是用列名。

    8.3K43

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

    data.table) melb <- fread("datasets/melb_data.csv") 示例1 第一个示例是关于基于数据集中现有创建新。...Price > 1000000 & Type == "h"] 对于pandas,我们提供dataframe名称来选择用于过滤。...这两个库都允许一个操作应用多个聚合。我们还可以按升序或降序对结果进行排序。...我们使用计数函数来获得每组房屋数量。”。N”可作为data.tablecount函数。 默认情况下,这两个库都按升序对结果排序。排序规则在pandasascending参数控制。...data.table中使用减号获得降序结果。 示例5 最后一个示例,我们将看到如何更改列名。例如,我们可以更改类型和距离名称

    3.1K30

    好强一个Julia!CSV数据读取,性能最高多出R、Python 22倍

    单线程CSV.jl是没有多线程Pandas(Python)1.5倍,而多线程CSV.jl可以达到11倍。 字符串数据集 I 此数据集具有1000k行和20,并且所有不存在缺失值。 ?...单线程CSV.jl比data.table快2.5倍,而在10个线程,CSV.jl则大约比data.table快14倍。 字符串数据集 II 该数据集大小与字符串数据集 I 相同。...单线程,CSV.jl比R快2倍,而使用10个线程则快了10倍。 按揭贷款风险数据集 从Kaggle取得按揭贷款风险数据集是一种混合型数据集,具有356k行和2190。...Julia,Python和R测试,引发了网友们更多关于“技术更新”热烈讨论。...有些网友对于Julia给予了极大期待: 在过去十年,大多数生态系统Python上都具有巨大价值,尤其是将MATLAB抛脑后。

    2K63

    Matt Dowle 演讲节选(二)

    换句话说,哪怕 global environment 存在一个叫做 B 变量,那么data.talbe在运行时候也会“认” DF 那个叫做 B ,而不是 global environment...Matt 是这样想data.frame,如果我们想要选择region这个变量为特定关泽,那么代码就会是下面这样: > DF[DF$region == "US", sum(population...因为任何对处理都必须导致数据集在内存复制,也即假如我们内存是 4G,那么使用data.frame情况下,我们最大就只能处理 2G 数据集!...一个更极端例子是,加入你 4G 内存 装下了一个 3G 数据集,这时你想要删去其中都是不可能,因为data.frame,哪怕删除操作都会导致数据集复制!...在这个2012年(注意dplyr最早版本2016年!)帖子,一个用户需要处理以下数据集(这里只显示前6行) ? 他想首先按照gene_id分组,然后分别计算特定变量极值和均值。

    1.1K40

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

    freadnThread 参数使用   注意默认nThread=getDTthreads(),即使用所有能用核心,但并不是核心用越多越好,本人亲自测试情况下,其实单核具有较强性能,只有在数据大于...因此对于不是非常巨大文件,建议设置为1,不要使用全部核心 freadsep是自动检测   所以循环读入文件过程,就算不同文件分隔符不同,也可以循环一次性方便读入; 还有就算后续改变了文件分隔符...  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, 虽然很费解,但这是因为计算机存储浮点数时出现一些问题。

    1.5K10

    CMap数据库学习及结果可视化

    揭示基因功能和病理学机制:通过将特定基因基因敲除或过表达实验基因表达谱与 CMap 数据库药物处理基因表达谱进行比较,研究人员可以推断出该基因在特定生物过程或疾病中作用。4....疾病关联研究:CMap 可以用于研究不同疾病分子机制。通过比较不同疾病基因表达特征,可以识别出与特定疾病相关分子标志物或潜在治疗靶点。5....工作原理:CMap 数据库核心是大量基因表达谱,这些表达谱是通过微阵列或 RNA-seq 技术获得,记录了细胞不同化合物、基因干扰或基因过表达处理后基因表达变化。...网页及代码分析流程1、进入官网(https://clue.io/),注册登录后点击toolsQuery(主要用这个,其他可自行探索) 2、查看工作界面左侧(1)红框代表设置项目名称;(2)红框代表选择上传数据情况...# Name:指定将作为“宽格式”数据列名变量。# 这意味着dcast会将input数据框具有相同Description行聚合在一起,并为每个Name创建单独

    15010

    R语言进阶笔记2 | 长数据与ggplot2

    之前介绍了如何将多个性状箱线图放在一个图上,比如learnasreml包fm数据,它有h1~h5五年株高数据,想对它进行作图。...问题来了,什么是「长数据」,什么是「宽数据」(不是短数据,这不是反义词,谢谢) 「宽数据:」 ❝即变量是多数据,每一都是一个值,比如株高数据,第一年株高是一,第二年株高是一,第三年株高是一...现在我用melt函数时,就不用载入reshape2了,直接用data.table包就行 tidyversetidyrpivot_longer函数,这个更简单,用过这个函数,再也没有迷路过。...第三个names_to是变量名称,这里定义为Year 第四个values_to是保存性状名,这里是Height 可以看到,长数据有3,分别是: TreeID Year Height 3. ggplot2...作图怎么搞 之前我使用ggplot2作图时,想做什么图,就在网上copy代码,然后根据自己数据名称,修改代码,然后运行代码。

    94020

    R语言︱情感分析—基于监督算法R语言实现(二)

    (3)基于算法分析方式一般具有行业特殊性,也就是说很难训练一个可以跨行业模型,这样就会遇到另外一个问题:挑选训练样本。...aggregate相当于把每个文档词去重了一下,不是ID去重,不同文档也可能存在相同词。...其中,data.table`dcast`函数比reshape2包里`dcast`好用,尽管他们参数都一样,但是很多人还是比较喜欢老朋友reshape2包,然而这一步需要大量内存,本书服务器上完成...可参考博客:给R变个形 图4 4.2 训练集- 随机森林模型 随机森林模型不需要id项,通过row.names把id这一放在R默认序号,如图4第一。...答:dcast重排时候,是按照term名称大小写顺序来写,所以肯定和训练集结构是一致! 为什么图5,一些词语Id为0,而dcast之后,不存在0id个案呢?

    1.7K20
    领券