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

在data.table中查找按2个因子分组的两个变量的变化

相关·内容

【R语言】因子临床分组应用

前面给大家简单介绍了 ☞【R语言】R因子(factor) 今天我们来结合具体例子给大家讲解一下因子临床分组应用。 我们还是以TCGA数据CHOL(胆管癌)这套数据为例。...stage I,stage II,stage III和stage IV四个分期 接下来我们试着把组织病理分期从四个组合并成两个组,并转换成因子 方法一、使用gsub函数 前面也给大家介绍过☞R替换函数...*","stage I/II",stage) #转换成因子 stage=factor(stage) stage 可以得到下面这个两分组因子 方法二、直接使用factor函数 #删除组织病理学分期末尾...*","stage III/IV",stage) #转换成因子 stage=factor(stage) stage 可以得到如下因子 方法二、直接使用factor函数 #删除组织病理学分期末尾A,...参考资料: ☞【R语言】R因子(factor) ☞如何从TCGA数据库下载RNAseq数据以及临床信息(一) ☞【R语言】卡方检验和Fisher精确检验,复现临床paper ☞R生成临床信息统计表

3.2K21

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

文件路径,再确保没有执行shell命令时很有用,也可以input参数输入; stringsASFactors是否转化字符串为因子, verbose,是否交互和报告运行时间; autostart,...,比如data.frame和data.table等; file,输出文件名,""意味着直接输出到操作台; append,如果TRUE,原文件后面添加; quote,如果"auto",因子和列名只有在他们需要时候才会被加上双引号..., by=x][order(x)] #和上面一样,采取data.table链接符合表达式 DT[v>1, sum(y), by=v] #对v列进行分组后,取各组v>1行出来,各组分别对定义...函数画图,对于每个x分组画一张图 DT[, m:=mean(v), by=x] #对DTx列分组,直接在DT上再添加一列m,m内容是mean(v),直接修改并且不输出到屏幕上 DT[, m:=mean...(y=max(y)), lapply(.SD, min)), by=x, .SDcols=y:v] #对DT取y:v之间列,x分组,输出max(y),对y到v之间列每列求最小值输出。

5.6K20

【DB笔试面试806】Oracle,如何查找未使用绑定变量SQL语句?

♣ 题目部分 Oracle,如何查找未使用绑定变量SQL语句?...换句话说,如果两个SQL语句除了字面量值之外都是相同,它们将拥有相同FORCE_MATCHING_SIGNATURE,这意味着如果为它们提供了绑定变量或者CURSOR_SHARING,它们就成了完全相同语句...⊙ 【DB笔试面试585】Oracle,什么是常规游标共享?⊙ 【DB笔试面试584】Oracle,如何得到已执行目标SQL绑定变量值?...⊙ 【DB笔试面试583】Oracle,什么是绑定变量分级?⊙ 【DB笔试面试582】Oracle,什么是绑定变量窥探(下)?...⊙ 【DB笔试面试582】Oracle,什么是绑定变量窥探(上)?⊙ 【DB笔试面试581】Oracle,绑定变量是什么?绑定变量有什么优缺点?

6.2K20

生信技能树 Day8 9 GEO数据挖掘 基因芯片数据

查找和下载数据 以GSE7305为例 网站点击链接下载 代码下载 #打破下载时间限制,改前60秒,改后10w秒 options(timeout = 100000) options(scipen =...p) { s = intersect(rownames(pd),colnames(exp)) exp = exp[,s] pd = pd[s,] } 有多个分组,怎么提取两个分组 #现编一个三分组...pd$group = rep(c("group1","group2","group3"),times = c(6,6,8)) #假如需要从多个分组里面取两个分组对应行 library(stringr...library(stringr) # 标准流程代码是二分组,多分组数据分析后面另讲 # 生成Group向量三种常规方法,三选一,选谁就把第几个逻辑值写成T,另外两个为F。...,"Normal","Disease") } data.frame(pd$title,Group)# 检查分组对不对 转换为因子 # 需要把Group转换成因子,并设置参考水平,指定levels,对照组在前

14520

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

同时设置两个key变量方式,也是可以。 查看数据集是否有key方式: key(data) #检查该数据集key是什么?...2、条件行筛选 从前用subset方式进行筛选比较多, new=14,select=a:f) (1)单变量 现在data.table与dplyr from_dplyr =...%>%功能是用于实现将一个函数输出传递给下一个函数第一个参数。注意这里,传递给下一个函数第一个参数,然后就不用写第一个参数了。dplyr分组求和过程,还是挺有用。...,他包含了各个分组,除了by变量所有元素。....(x)] 还有 data$x 如果有很多名字很长指标,data.table如果列进行遍历呢? data[,1]是不行,选中列方式是用列名。

7.4K43

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

N是最常用符号之一,它表示当前分组,对象数目(就不用调用nrow函数啦)。[]使用它指提取最后一行。...例如使用id和date定位toy_tests记录: setkey(toy_tests, id, date) 现在提供key两个元素就可以获取记录了 toy_tests[....对数据进行分组汇总 by是data.table另一个重要参数(即方括号内第3个参数),它可以将数据按照by值进行分组,并对分组计算第2个参数。...2 分组变量可以不止一个,例如由type和class确定一个分组: product_info[, .N, by = ....("volume") #> year average #> 1: 2015 4000 #> 2: 2016 4003 我们可以利用此包专门语法创造一个列数动态变化组合,并且组合列是由动态变化名称决定

5.9K20

R语言实现定性资料秩和检验

介绍 定性资料比如等级,毒性,应答等,可以以具有分级因子形式表示,比如(+ ++, +++),分别对应因子1,2,3种水平,这样不同组样本只要看这些数据等级排列是否一致就可以判断这两个群体分布是否有差异...代码 library(data.table) setwd("/我文档/project/test") dt <- fread("example.tsv") #读入文件,这里用fread依赖data.table...包,也可以用read.table dt$分组 <- factor(dt$分组) # 分组转变成因子 dt$毒性 <- as.numeric(factor(dt$毒性)) #定性资料转变成因后再转成可以计算数字...# 进行检验计算p值和zscore pvalue <- wilcox.test(毒性 ~ 分组, data = dt)$p.value zscore <- qnorm(pvalue/2) #...默认wilcox双尾检验所以要除以2,如果你wilcox做是单尾检验,这里不用除以2 print(zscore) 参考资料 https://stats.stackexchange.com/questions

66820

R练习50题 - 第一期

unique:找出symbol不重复值。 data.table语法,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...(date, updown)这个结构,他意思是,把整个数据集按照date和updown两个变量进行分组,并依次排序。...其中,updown是我们新建字符变量,用来表示分组,它只取两个值:UP, DOWN。这其中难点是建立updown这个变量。我们使用了ifelse这个函数。...代码第二行生成了一个新变量num。由于keyby语句中我们已经按照日期与涨跌进行了分组,所以这一步我们只需要统计每个组有多少个股票就可以了。我们在这里使用了uniqueN这个函数。...整个代码执行顺序是:先选择行(逗号空白行),再分组(keyby语句),最后进行组间统计(num语句)。 我们答案,行、列以及分组三条语句各占一行,实际上这仅仅是为了让代码更直观。

2.4K40

输入一个已经升序排序过数组和一个数字,在数组查找两个数,使得它们和正好是输入那个数字

题目: 输入一个已经升序排序过数组和一个数字, 在数组查找两个数,使得它们和正好是输入那个数字。 要求时间复杂度是O(n)。如果有多对数字和等于输入数字,输出任意一对即可。...2 因为是求两个数,时间复杂度是O(n),还是排过顺序数组,那么可以从头和从尾同时找;从尾开始tail下标大于sum,则tail左移;如果tail和head相加小于sum,则tail右移;指导头尾两个数相加等于求和...;或者tail大于head为止; 代码如下: ''' 题目:输入一个已经升序排序过数组和一个数字, 在数组查找两个数,使得它们和正好是输入那个数字。...] break 输出 2 4 -------------------------------------------------- Python数据结构与算法-M...个数找K个最小

2.1K10

一行代码搞定分组回归

写 在前面 目前为止所有小伙伴们向大猫请教过R问题中,大猫总结了最常遇见同时也是比较难三个问题,分别是(1)事件研究法;(2)分组回归;(3)滚动回归。...事件研究法第一期已经讲述,本期我们就来瞧瞧如何做分组回归~ PS:由于微信限制,给大猫留言小伙伴超过48小时后大猫就不能回复你们了。所以如果想联系大猫,可以按照文章最后微信号加大猫微信哦。...stkid代表分组变量,有a, b, c, d, e五个类别;x和y分别随机生成 dt <- data.table(stkid = sample(letters[1:5], 100, replace =...keyby语句为data.table分组语句,它能够对keyby每一个不同值(这里为abcde)都分别跑一次回归。...如果我们回归不是单自变量而是双自变量,那么每个分组就会有三行观测了,一行是截距,还有两行是系数。

3.4K40

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

清洁数据在数据处理后续流程十分重要,比如数据变化(dplyr),可视化(ggplot2/ggvis)以及数据建模等。...此外,separate和union方法提供了数据分组拆分、合并功能,应用在nominal数据转化上。...(): 变量选择 filter(): 行名称分片 slice(): 行索引分片 mutate(): 原数据集最后一列追加一些数据集 summarise(): 每组聚合为一个小数量汇总统计,通常结合...(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老鼠书直观很多

3.8K120

癌基因都是肿瘤风险因子

这个就很有意思,因为癌基因定义就是那些肿瘤里面过度激活基因,而抑癌基因就是肿瘤里面失活基因,不过过度激活不一定要转录本大量增加,可能是其它生物学机理,比如蛋白质产物大量增加,又或者说蛋白质产物效果增强...同样,我们可以使用TCGA数据库多种癌症来举例说明这两个问题: 整理表达量矩阵和生存分析 首先,我们选择同样 TCGA-CDR-SupplementalTableS1.xlsx 文件里面的生存信息...解释起来会有一点点绕,不过这样结果很容易通过一个分组KM曲线去肉眼检查一下基因具体到底是保护因子还是风险因子,就跟我们肉眼检查表达量上下调基因会使用箱线图一样。...,所以各自保护因子和风险因子数量不一样。...基因表达量高低分组cox和连续变量cox回归计算HR值差异太大?

64820

R练习50题 - 第二期

由于股票代码symbol最后两个字符表示交易所(例如,600123.SH表示上海交易所,股票代码600123),我们在建立分组变量时需要使用str_sub函数截取最后两个字符。 代码及解析: ?...keyby语句中,我们创建了三个分组变量,首先是日期date,其次是交易所exchange(只取SH/SZ两个值),最后是涨跌updown。注意这三个变量先后顺序非常重要,不能颠倒。...练习 4 沪深300成分股,每天上涨、下跌股票各有多少? 分析: 本题仍旧是Ex-2拓展,只不过要求我们进行行选择操作。data.tabledt[i,j,by]语法,i代表行选择操作。...为了选出沪深300成分股,我们需要用到index_w300这个变量。index_w300表示一个股票沪深300指数权重,如果大于零,说明它是成分股;如果为零,说明不是成分股。 代码及解析: ?...data.table只会选择为True那些元素。 data.tabledt[i, j, by]语法,先执行行选择操作i, 再执行分组操作by, 最后执行列操作j。

85220

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。...而我们要处理变量是第3个到第34个,所以.SD中选出3至34列,运用lapply对选中.SD[, 3:34]里面每一个element使用as.Date函数。 再看,':='左边。...如何把处理好这些变量变量名进行对应,这里就用到了colnames()这个函数,提取出我们这个data.table第3到第34个变量名字,这样就可以将变量名和更改格式后变量顺序进行一一匹配。

1.1K30

广义估计方程和混合线性模型R和python实现

(变数、变量、变项)协变量(covariate):实验设计,协变量是一个独立变量(解释变量),不为实验者所操纵,但仍影响响应。...P*P维作业相关矩阵(自变量X),用以表示因变量各次重复测量值(自变量)之间相关性大小求参数$\beta$估计值及其协方差矩阵混合线性模型(mixed linear model,MLM):构建包含固定因子和随机因子线性混合模型...比值几率表示单位预测变量变化时响应变量几率乘性变化本例,不适合。...区分混合线性模型随机效应和固定效应是一个重要概念。固定效应是具有特定水平变量,而随机效应捕捉了由于分组或聚类引起变异性。比如下方正在探究尿蛋白对来自不同患者GFR影响。...比值几率表示单位预测变量变化时响应变量几率乘性变化本例,不适合。

11900

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

因此,在对大数据处理上,使用data.table无疑具有极高效率。这里主要介绍基因组数据分析可能会用到函数。...; na.strings 对NA解释; file 文件路径,再确保没有执行shell命令时很有用,也可以input参数输入; stringsASFactors 是否转化字符串为因子...代表无变量; fun.aggregate 是否铸造之前汇总,应提供函数list(比如mean,sum或者c(sum,mean)),默认length; sep 铸造时候连接字符变量连接符..."; value.name 融合后数据数值列名; na.rm 如果TRUE,移除NA值; variable.factor 如果TRUE,变量列转化为因子; verbose...by.y默认key(y); maxgap 设定两个区域空白区允许最大值,参数尚不能使用; minoverlap 设定两个区域最小重叠区,参数尚不能使用; type

3.2K10

从一件数据清洗小事说起

” 本期“大猫R语言公众号”由“村长”供稿。村长,数据科学、指弹吉他及录音工程爱好者,浙大金融学博士在读,data.table包和MongoDB使用上有较多经验。...问 题:从一段json清晰代码说起 笔者某一日R语言中文社区某一群里面发现了水友提出一个问题,处理一个比较奇葩数据清洗问题,先来看数据结构: ?...这是一个类json格式嵌套数据,其中存在两个变量,第一个变量是cusnum作为序号,第二个是一个类json嵌套变量,里面以类jsno格式嵌套了很多变量。 需要将这个数据集转换成如下格式: ?...其实这一期这么扯淡讲这么多事情,只是为了说明一点,data.table真的有很好性能,尤其处理海量数据方面(分组特别多时候,相比dplyr和pandas有2x~10x提升,来自官方文档)。...相较之下,data.table则通过把数据处理中最常见“选取行”、“修改列”、“分组”三大操作通过dt[i,j,by]语法统一了一起来。

66910
领券