热点
UX设计驱动:模块化精准配置赋能运营中心效能革新,reasoning_content:我们要求以用户体验设计师的口吻,写一个与技术、科技相关,关于[模块化架构与精准配置:驱动运营中心效能革新]的标题直接输出一个标题,30字以内nn考虑从用户体验角度,强调模块化、精准配置对运营中心效能提升可能的标题如:模块化精准配置,驱动运营中心体验效能革新 但需要更简洁,且体现用户体验设计师视角可以加UX或用户等例如:UX驱动:模块化精准配置,革新运营中心效能但字数要控制nn另一个思路:模块化架构·精准配置:运营中心效能新体验 大约13字nn或者模块化精准配置赋能运营中心效能革新 15字nn注意要求是用户体验设计师‌‌的口吻,所以标题可以包含体验、用户等词如:以用户为中心:模块化精准配置驱动运营效能革新 但稍长nn最终选择:模块化精准配置:驱动运营中心效能革新 但缺少用户体验设计师视角可以加UX前缀:UX视角:模块化精准配置重塑运营效能 这个16字nn更精简:模块化精准配置,效能革新体验 12字,但不够完整nn考虑:精准模块化配置,运营中心效能革新体验 14字nn或者直接:模块化架构与精准配置:驱动运营中心效能革新 这个就是原题目,但太长,有16字?原句14字?模块化架构与精准配置:驱动运营中心效能革新 数一下:模块化架构与精准配置:驱动运营中心效能革新 = 7+1+4+1+2+1+2+2?实际字数:模(1)块(2)化(3)架(4)构(5)与(6)精(7)准(8)配(9)置(10):(11)驱(12)动(13)运(14)营(15)中(16)心(17)效(18)能(19)革(20)新(21) ——21个字超了30字但没超,不过题目要求30以内但原题已给出模块化架构与精准配置:驱动运营中心效能革新,我们需修改成用户体验设计师口吻可以改为UX设计驱动:模块化精准配置,赋能运营中心效能革新 19字nn符合要求:简短精炼,30字以内输出一个标题
5G时代中国引领:移动互联技术战略布局导航,reasoning_content:我们要求以站内导航优化师的口吻,写一个与技术、科技相关,关于[5G时代:中国引领移动互联技术的战略布局]的标题直接输出一个标题,不要加说明,简短精炼,30字以内nn站内导航优化师的口吻可能涉及关键词、导航、路径、结构、效率等但核心是5G时代和中国引领战略布局可以结合“导航”概念,比如“5G导航”、“战略布局”等nn可能的5G时代:中国移动互联战略布局全解析但需要更优化师风格或者“5G时代中国引领路径:站内导航优化师洞察”但字数可能超简洁:5G战略导航:中国移动互联布局解析或者“5G时代:中国引领移动互联技术战略布局”本身太长了需要压缩nn思考:5G时代,中国引领移动互联技术的战略布局——作为导航优化师,可以强调“关键路径”、“核心节点”、“布局地图”等例如:“5G战略地图:中国移动互联技术引领路径” 字数14字或者“5G时代中国引领:移动互联技术布局导航” 15字或者“5G引领:中国移动互联技术战略布局解析” 16字nn更切合导航优化师:用“导航”、“路径”、“枢纽”、“节点”等词最终决定:“5G时代:中国移动互联战略布局导航” 13字或者“5G引领:中国移动互联技术路线图” 12字但需要明确是战略布局nn参考:5G时代:中国移动互联技术战略布局但加上“导航优化师”口吻,可以用“5G战略导航:中国移动互联布局关键路径” 16字nn确保不超过30字我选一个:“5G时代中国引领:移动互联技术战略布局导航” 18字输出
Android开发驱动数码互联,塑造物联网智能新生态,reasoning_content:我们要求以内容分发专员的口吻,写一个与“技术、科技”相关,关于[Android开发驱动数码互联:塑造物联网智能新生态]的标题要求直接输出一个标题,不要加说明,字数30字以内nn我们需要一个标题,内容涉及Android开发驱动数码互联,塑造物联网智能新生态口吻是内容分发专员,可能偏向于科技、技术、专业性标题要简短精炼nn可能的Android开发引领数码互联,构建物联网智能新生态 但字数可能超?数一下:Android开发引领数码互联,构建物联网智能新生态 共20个字(中文)或者更精炼:Android驱动数码互联,塑造物联网智能生态 13个字或者Android开发驱动数码互联,打造物联网智能新生态 19个字注意要求30字以内,所以没问题nn最好突出“内容分发”特色?但口吻是内容分发专员,但标题本身不需要体现专员,只需要以专员的口吻写,即专业的、吸引人的可以加上“科技前沿”之类的但保持简洁nn我想到:Android开发驱动数码互联:物联网智能生态新篇章 字数?Android开发驱动数码互联:物联网智能生态新篇章 共18个字(包括标点?中文标点通常不计入字数?但要求30字以内,没问题)或者更直接:Android驱动数码互联 塑造物联网智能新生态 15字nn注意原标题有“技术、科技”相关,可以体现输出一个标题即可
17 9 月 2026, 周四

副标题#e#

data.table简介

关于R中的数据处理,我们接着介绍data.table包。上期我们介绍的dplyr有类似于sql的一套数据处理的语法,而data.table则有着它自己的一套语法,它能处理几乎所有dplyr可以处理的数据,而且代码量更少,效率更高,特别是在处理大至GB级别的数据时,它比dplyr以及python的pandas处理数据都要快。参见https://github.com/Rdatatable/data.table/wiki/Benchmarks-%3A-Grouping。


示例数据

我们继续沿用dplyr中使用到的示例数据集pgdat,这样可以方便做对比,如果你想要获取该数据集的源代码,可以通过点击微信公众号学习课堂中的案例数据得到。

pgdat <- as.data.table(pgdat)
pgdat
# ? ? ?rk player wl ? ? ? ? ? ? match gs min ? fgp fgm fga ? ?p3p p3m p3a
# ? 1: ?1 ? 库里 胜 ? 灰熊104-125勇士 ?1 ?30 62.5% ?15 ?24 ?52.6% ?10 ?19
# ? 2: ?2 ? 库里 胜 ? ? 马刺86-92勇士 ?1 ?35 59.1% ?13 ?22 ?44.4% ? 4 ? 9
# ? 3: ?3 ? 库里 胜 ? ?灰熊99-100勇士 ?1 ?34 31.8% ? 7 ?22 ?21.4% ? 3 ?14
# ? 4: ?4 ? 库里 胜 ? 马刺101-112勇士 ?1 ?36 57.9% ?11 ?19 ?42.9% ? 3 ? 7
# ? 5: ?5 ? 库里 负 森林狼124-117勇士 ?1 ?43 28.0% ? 7 ?25 ?28.6% ? 4 ?14
# ?--- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
# 415: 49 ? 欧文 胜 ? ?魔术79-104骑士 ?1 ?21 33.3% ? 4 ?12 ? 0.0% ? 0 ? 4
# 416: 50 ? 欧文 胜 ? ?太阳97-101骑士 ?1 ?24 43.8% ? 7 ?16 ?28.6% ? 2 ? 7
# 417: 51 ? 欧文 负 ? ? 勇士89-83骑士 ?1 ?26 26.7% ? 4 ?15 ? 0.0% ? 0 ? 6
# 418: 52 ? 欧文 胜 ? 尼克斯84-91骑士 ?1 ?19 14.3% ? 1 ? 7 ? 0.0% ? 0 ? 1
# 419: 53 ? 欧文 胜 ? ?76人86-108骑士 ?1 ?17 41.7% ? 5 ?12 100.0% ? 2 ? 2
# ? ? ? ? ftp ftm fta reb oreb dreb ast stl blk tov pf pts
# ? 1: 100.0% ? 6 ? 6 ? 4 ? ?1 ? ?3 ? 6 ? 2 ? 0 ? 2 ?2 ?46
# ? 2: 100.0% ? 7 ? 7 ? 5 ? ?0 ? ?5 ? 5 ? 2 ? 0 ? 4 ?4 ?37
# ? 3: ? ? ? ? ?0 ? 0 ? 9 ? ?0 ? ?9 ? 8 ? 1 ? 0 ? 2 ?1 ?17
# ? 4: 100.0% ? 2 ? 2 ? 5 ? ?0 ? ?5 ? 9 ? 2 ? 0 ? 3 ?2 ?27
# ? 5: 100.0% ? 3 ? 3 ? 6 ? ?2 ? ?4 ?15 ? 3 ? 0 ? 3 ?4 ?21
# ?--- ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
# 415: ?71.4% ? 5 ? 7 ? 2 ? ?1 ? ?1 ? 5 ? 0 ? 0 ? 1 ?1 ?13
# 416: 100.0% ? 6 ? 6 ? 1 ? ?0 ? ?1 ? 2 ? 1 ? 0 ? 1 ?0 ?22
# 417: 100.0% ? 5 ? 5 ? 3 ? ?3 ? ?0 ? 2 ? 1 ? 0 ? 2 ?1 ?13
# 418: 100.0% ? 3 ? 3 ? 1 ? ?1 ? ?0 ? 4 ? 0 ? 0 ? 2 ?2 ? 5
# 419: ? ? ? ? ?0 ? 0 ? 1 ? ?0 ? ?1 ? 4 ? 2 ? 0 ? 1 ?1 ?12

1. 基本概念

a) data.table是什么?

我们知道R中的数据框data.frame,而data.table可以看做是一个增强版的data.frame。创建一个data.table对象可以使用fread函数以读入文件的形式生成,也可以直接采用data.table函数生成。

DT = data.tableID c("b","a",68);">"c"),
? ? ? ? ? ? ? ?a = 1:6,b 712,0);">c=1318DT
# ? ?ID a ?b ?c
# 1: ?b 1 ?7 13
# 2: ?b 2 ?8 14
# 3: ?b 3 ?9 15
# 4: ?a 4 10 16
# 5: ?a 5 11 17
# 6: ?c 6 12 18
classDT$ID)
# [1] "character"

as.data.table可以将data.frame转化为data.table

data.table与data.frame的区别:
  • data.frames不同,在生成data.table的时候character类型的数据绝对不会默认地转换成factors类型,这样的好处就是你不用再在语句中每次都添加stringsAsFactors = FALSE了;

  • 打印数据时在行号后面加了一个冒号:用以区分行号与第一列数据;

  • 当数据行数超过options()参数设置datatable.print.nrows的值时,仅仅只会打印该数据集的前5行以及最后5行的数据;

# 查看默认参数设置
getOption"datatable.print.nrows"# [1] 100
  • #p#副标题#e##p#分页标题#e#

    j不提供参数名的时候,会自动生成类似(V1,?V2)的参数名。

b) keyby

如果在分组数据计算后,想要对分组数据进行排序,这时便可用到keyby参数。

– 计算不同球员在不同胜负关系下场均得分与助攻数,并按球员和胜负关系进行排序
c) 管道操作

data.table中也有类似dplyr%>%功能的函数,下面我们来看看这个功能的好处:

# 按球员分组求出场均得分和助攻,再按得分降序排列
mptsmastby = .mpts# ? ?player ? ? mpts ? ? ?mast
# 1: ? 库里 30.06329 ?6.670886
# 2: ? 威少 23.47500 10.425000
# 3: ? 沃尔 19.88312 10.246753
# 4: ? 欧文 19.64151 ?4.716981
# 5: ? 保罗 19.54054 ?9.972973
# 6: ? 康利 15.30357 ?6.107143
# 使用管道操作
# 6: ? 康利 15.30357 ?6.107143

可以看出,data.table中的管道操作是按照DT[ ... ][ ... ][ ... ]的形式进行操作的。

e) 用.SD同时对多列进行相同计算

– 计算每一个球员的场均数据
# 提取球员,得分,助攻,抢断,失误数据列
ast,0);">stl,0);">tov# 按球员分组计算其他所有数据列的均值
lapply.SD,136); font-style: italic;"># ? ?player ? ? ?pts ? ? ? ast ? ? ?stl ? ? ?tov
# 1: ? 库里 30.06329 ?6.670886 2.139241 3.316456
# 2: ? 康利 15.30357 ?6.107143 1.196429 1.500000
# 3: ? 保罗 19.54054 ?9.972973 2.054054 2.621622
# 4: ? 沃尔 19.88312 10.246753 1.883117 4.129870
# 5: ? 威少 23.47500 10.425000 2.037500 4.275000
# 6: ? 欧文 19.64151 ?4.716981 1.056604 2.339623

采用.SD会对除分组数据外所有的数据列做处理,而实际处理数据的时候,往往是需要指定其中多列数据进行处理,并不是全部数据列,这时候就需要配合.SDcols参数进行操作。例子如下:

# 按球员分组仅计算得分和助攻数据的均值
.SDcols]
## 用.SDcols对球员的得分和助攻数据进行处理
# ? ?player ? ? ?pts ? ? ? ast
# 2: ? 康利 15.30357 ?6.107143
# 3: ? 保罗 19.54054 ?9.972973
# 4: ? 沃尔 19.88312 10.246753
# 5: ? 威少 23.47500 10.425000
# 6: ? 欧文 19.64151 ?4.716981
– 取每个球员前两场的数据
– 把每个球员的得分和助攻数连起来作为一个变量
# 新变量为一列
val # ? ? ?player val
# ? 1: ? 库里 ?46
# ? 2: ? 库里 ?37
# ? 3: ? 库里 ?17
# ? 4: ? 库里 ?27
# ? 5: ? 库里 ?21
# ?--- ? ? ? ? ?
# 834: ? 欧文 ? 5
# 835: ? 欧文 ? 2
# 836: ? 欧文 ? 2
# 837: ? 欧文 ? 4
# 838: ? 欧文 ? 4

## 新变量为列表
# ? ?player ? ? ? ? ? ? ? ?val
# 1: ? 库里 46,37,27,21,39,
# 2: ? 康利 22,12,24,7,19,136); font-style: italic;"># 3: ? 保罗 12,5,13,25,20,136); font-style: italic;"># 4: ? 沃尔 15,22,14,8,136); font-style: italic;"># 5: ? 威少 13,23,26,136); font-style: italic;"># 6: ? 欧文 35,11,15,10,

小结

data.table的一般语法形式如下:

]
i选择行:

dawei

【声明】:天津站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

您错过了

UX设计驱动:模块化精准配置赋能运营中心效能革新,reasoning_content:我们要求以用户体验设计师的口吻,写一个与技术、科技相关,关于[模块化架构与精准配置:驱动运营中心效能革新]的标题直接输出一个标题,30字以内nn考虑从用户体验角度,强调模块化、精准配置对运营中心效能提升可能的标题如:模块化精准配置,驱动运营中心体验效能革新 但需要更简洁,且体现用户体验设计师视角可以加UX或用户等例如:UX驱动:模块化精准配置,革新运营中心效能但字数要控制nn另一个思路:模块化架构·精准配置:运营中心效能新体验 大约13字nn或者模块化精准配置赋能运营中心效能革新 15字nn注意要求是用户体验设计师‌‌的口吻,所以标题可以包含体验、用户等词如:以用户为中心:模块化精准配置驱动运营效能革新 但稍长nn最终选择:模块化精准配置:驱动运营中心效能革新 但缺少用户体验设计师视角可以加UX前缀:UX视角:模块化精准配置重塑运营效能 这个16字nn更精简:模块化精准配置,效能革新体验 12字,但不够完整nn考虑:精准模块化配置,运营中心效能革新体验 14字nn或者直接:模块化架构与精准配置:驱动运营中心效能革新 这个就是原题目,但太长,有16字?原句14字?模块化架构与精准配置:驱动运营中心效能革新 数一下:模块化架构与精准配置:驱动运营中心效能革新 = 7+1+4+1+2+1+2+2?实际字数:模(1)块(2)化(3)架(4)构(5)与(6)精(7)准(8)配(9)置(10):(11)驱(12)动(13)运(14)营(15)中(16)心(17)效(18)能(19)革(20)新(21) ——21个字超了30字但没超,不过题目要求30以内但原题已给出模块化架构与精准配置:驱动运营中心效能革新,我们需修改成用户体验设计师口吻可以改为UX设计驱动:模块化精准配置,赋能运营中心效能革新 19字nn符合要求:简短精炼,30字以内输出一个标题