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

对.SDcols上的函数求值并返回data.table中的所有列

是指在R语言中使用data.table包进行数据处理时,通过在.SDcols参数中指定需要进行函数求值的列,然后返回data.table中的所有列。

data.table是R语言中用于高效处理大型数据集的包,它提供了一种快速、灵活且易于使用的数据结构和操作方法。在data.table中,可以使用.SDcols参数来指定需要进行函数求值的列。.SDcols是一个字符向量,包含了需要进行函数求值的列的名称。

在对.SDcols上的函数求值时,可以使用data.table中提供的各种函数,如sum、mean、max、min等。这些函数可以对指定的列进行求和、平均值、最大值、最小值等操作。求值结果将返回一个新的data.table,其中包含了原始data.table中的所有列以及函数求值结果所生成的新列。

以下是一个示例代码:

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

# 创建一个示例data.table
dt <- data.table(
  A = c(1, 2, 3),
  B = c(4, 5, 6),
  C = c(7, 8, 9)
)

# 对.SDcols上的函数求值并返回data.table中的所有列
result <- dt[, lapply(.SD, sum), .SDcols = c("A", "B")]

# 输出结果
print(result)

在上述示例中,我们创建了一个包含三列的data.table(A、B、C)。然后,我们使用lapply函数对.SDcols上的函数(sum)进行求值,并将结果保存在result中。最后,我们打印输出了result,其中包含了原始data.table中的所有列以及对A和B列进行求和的结果。

推荐的腾讯云相关产品和产品介绍链接地址:

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

相关·内容

R语言数据分析利器data.table包 —— 数据框结构处理精讲

(y)] #返回y返回data.table DT[, sum(y)] #y求和 DT[, ....(sv=sum(v))] #y求和,输出sv内容就是sum(v) DT[, ...., by=x][order(x)] #和上面一样,采取data.table链接符合表达式 DT[v>1, sum(y), by=v] #v进行分组后,取各组v>1行出来,各组分别对定义...函数画图,对于每个x分组画一张图 DT[, m:=mean(v), by=x] #DT按x分组,直接在DT再添加一m,m内容是mean(v),直接修改并且不输出到屏幕 DT[, m:=mean...=FALSE] 和x[, .SD, .SDcols=cols]一样 mult 当有i 匹配到有多行时,mult控制返回行,"all"返回全部(默认),"first",返回第一行,"last"返回最后一行

5.9K20

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

我自己也遇到过这种困惑,为了避免注意力分散,我做法是先做可能性罗列——罗列一个可以实现同类功能所有工具清单做一套功能卡(也算是初步了解)。...以上语法加入了新参数.SDcols和.SD,咋一看摸不着头脑,其实是在按照carrier,origin,dest三个维度分组基础每个子块特定进行均值运算。...(carrier,origin,dest) 先按照三个维度进行全部分组; .SDcols=c("arr_delay","dep_delay")则分别在筛选每一个子数据块儿特定; lapply(....SD, mean)则将各个子块对应列应用于均值运算,返回最终列表。...当然你要是特别不习惯这种用法,还是习惯使用merge的话,data.table仍然是支持,因为他本来就继承了数据框,支持所有针对数据框函数调用。

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

    由于业务接触数据量很大,于是不得不转战开始寻求数据操作效率。于是,data.table这个包就可以很好满足大数据量数据操作需求。...—————————————————————————————————————————————— 六、额外参数(来源:R语言data.table速查手册) 1、mult参数 mult参数是用来控制i匹配到哪一行返回结果默认情况下会返回该分组所有元素...返回匹配到键值所在(V2)所有第一行 > DT["A", mult ="first"] V1 V2 V3 V4 1: 1 A -1.1727 1 2、nomatch参数——未匹配样本处理...返回匹配到键值所在(V2)所有包含变量值A或D所有行: DT[c("A","D"), nomatch = 0] V1 V2 V3 V4 1: 1 A -1.1727 1 2: 2 A....SDcols常于.SD用在一起,他可以指定.SD中所包含,也就是.SD取子集。

    8.6K43

    「R」数据操作(三):高效data.table

    首先,我们仍然载入之前用到产品数据,不过这里我们使用data.table包提供fread()函数,它非常高效和智能,默认返回data.table。...例如,使用setkey()将id设置为product_info一个键: setkey(product_info, id) 同样函数无任何返回,但我们已经为原始数据设置了键,而且原来数据看起来也没变化...对数据进行分组汇总 by是data.table另一个重要参数(即方括号内第3个参数),它可以将数据按照by值进行分组,对分组计算第2个参数。...举例,我们定义一个函数,计算market_data由用户定义年度均值: average = function(column){ market_data[, ....,这是为了让.SD只是我们想要那些价格

    6.3K20

    R语言:通过jiebaR提升正则匹配效率

    具体方法 1.正则表达式 对于文本分析首先会想到是正则表达式,利用正则表达式进行处理主要思想在于: 通过构建正则标准,每一个特征文本在每一个目标文本存在性进行遍历。...相比于普通str_extract函数,在进行字符串提取时,不会仅仅只匹配第一个相关项目,而是会把判断条件所有的潜在选项都进行匹配,从而对每一个目标文本生成一个相应提取向量,最后以list形式输出...” 如下代码进行解读可以发现三个关键点: 需要将特征文本添加为词典词。...需要利用分词函数进行分词。利用分词函数segment,导入分词引擎cutter,TitleKeyWords进行分词。 需要将原有的特征文本与分词后目标文本文件进行匹配。...利用data.table表合并语法进行操作,最后没有匹配项目不显示nomatch = 0。

    43710

    《高效R语言编程》6--高效数据木匠

    broom包提供了模型结果标准输出格式bit.ly[1] P.s,不知道为啥,这网站还得过墙,难道这是架设在了谷哥服务器。...使用broom::tidy()广泛应用于模型数据,并以标准数据框格式返回模型输出。使用变量名非标准化求值更高效,见R语言 dplyr传递参数_自由 平等~忠诚 奉献-CSDN博客[2]。...summarize是一个多面手,用于返回自定义范围汇总统计值。...非标准计算 代码没有引号包裹原始名字,这种方式叫做非标准计算(NSE),高效交互使用函数,减少键盘输入,允许Rstudio自动完成。还是函数名多个_。...数据库与dplyr 必须使用src_*()函数创建一个数据源。# 使用data.table()处理数据 是dplyr替代,两个哪个好存在争议,最好学一个一直坚持下去。

    1.9K20

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

    freadnThread 参数使用   注意默认nThread=getDTthreads(),即使用所有能用核心,但并不是核心用越多越好,本人亲自测试情况下,其实单核具有较强性能,只有在数据大于...as.data.table函数同样有一个rownames参数,设置为T可以将行名保留下来作为data.table 不建议set和for循环一起使用   虽然set可以在内存直接改变数值,但在R...现在只发现seq函数会出现这种情况,manual中提供了一个函数解决这个问题,setNumericRounding(2) ,去除最后两个字节,这样运行更快,也不会出现0.6不等于0.6问题 支持数据框取交集和集...  类似于集合运算,data.tablefintersect, fsetdiff, funion,fsetequal函数能对不同数据框行求交集,差集,集等 可以直接按分隔符进行分割   应用...tstrsplit函数可以将一按照分隔符分成多函数返回是一个列表,举例:DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][],将x按照/

    1.5K10

    R练习50题 - 第一期

    例如股票600128,如果它一共有100天观测,那么我们会出现100个重复结果。为了去重,我们需要借助于data.tableunique函数。 我们希望最终输出是一个字符串向量: ?...unique:找出symbol不重复值。 在data.table语法,先进行列选择操作,再进行处理。所以上述语句会先执行str_detect,再执行unique。...这是因为data.table第一个语句用来进行选择,由于我们这里需要对所有进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码核心。先来看keyby = ....它是data.table内置函数之一,和unique几乎执行相同操作,唯一不同是,unique返回是不重复item(是一个向量),而uniqueN返回是不重复数量(是一个数字)。...整个代码执行顺序是:先选择行(逗号空白行),再分组(keyby语句),最后进行组间统计(num语句)。 我们答案,行、以及分组三条语句各占一行,实际这仅仅是为了让代码更直观。

    2.5K40

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

    包括两个方面,一方面是写快,代码简洁,只要一行命令就可以完成诸多任务,另一方面是处理快,内部处理步骤进行了程序优化,使用多线程,甚至很多函数是使用C写,大大加快数据运行速度。...因此,在对大数据处理上,使用data.table无疑具有极高效率。这里主要介绍在基因组数据分析可能会用到函数。...显示没有联合成功行列 value.var 填充值,默认会猜测 现在我需要取数据DTv1,v2两相同情况作为汇总一类,它们v4值取平均,转换如下,...之间geneID,可以用beween foverlaps 寻找重叠区域,返回index,x是数据很大但都是小区域data.table,用来检索,y是检索用资料,数据较小,都是大区域。...x和y行联合,当是TRUE时,如果mult=“all”,返回,一x号,一相对应y,如果nomatch=NA,不匹配返回yNA,如果nomatch=0,则跳过该,设置mult="first

    3.4K10

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

    (V2),V3) V1,V3升序排序,V2降序排序 ※arrange语法非常简单,功能也很强大,我们再也不要用order()函数了 select( ) 选择 select(df,V1,V2,V3...) 选择V1,V2,V3数据 select(df,V1:V3) 选择V1到V3所有数据 t<-select(df,-c(V1,V3)) 选择除了V1,V3以外所有 distinct(...找到合适packages学习使用它,绝对会让我们数据分析工作事半功倍! 我们有没有发现dylyr包函数使用一些规律? 有的!...①第一个参数都是数据集df ②查询条件都是关于如何操作数据集,在列上面进行操作 ③返回都是新数据集,不会改变原始数据集 在介绍下一个包之前,我们先来引入一个dplyr包综合运用: grouped...以上讲这些只是我工作data.table用得最多功能,它强大之处还远远不止这些!如果你想深入,可以去官网下载文档,你绝对值得拥有!

    2.4K70

    手把手教你用R语言读取CSV文件

    read.table函数返回结果为data.frame。 read.table函数第一个参数为文件所在路径,可以是本地文件,也可以是网页文件。本书主要是从网页读取文件。...stringAsFactors参数也可以用在data.frame。再次创建“Sport”。...读取大CSV文件和其他文本文件两个主流函数是read_delim和fread,前者在readr包由Hadley Wickham实现,后者在data.table由Matt Dowle实现。...readr包所有数据提取函数返回是tibble,该数据类型是data.frame扩展。最明显变化是打印元数据,比如行列数和每数据类型。...readr包有一些read_delim函数封装(预置分隔符)辅助函数,比如read_csv函数和read_tsv函数

    22.1K21

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

    (x, y): 所有 x 在 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老鼠书直观很多...数据建模 broom 1. broom 在机器学习本质其实就是各种姿势回归,而在R各种回归分析往往不会返回一个整齐data frame 结果。...data.table完美兼容data.frame,这意味着之前data.frame操作我们可以完全保留,并且支持更多方便数据操作方法。...值得一提data.table引入了全新索引形式,大大简化了data frame分片形式,提供接近于原生矩阵操作方式直接利用C语言构造底层,保证操作速度。 2.

    3.9K120
    领券