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

R练习50题 - 第一期

我们的所有答案都将使用data.table这个包。我们认为data.table是最优秀的数据处理工具,没有之一。...unique:找出symbol中不重复的值。 在data.table的语法中,先进行列选择操作,再对列进行处理。所以上述语句会先执行str_detect,再执行unique。...这是因为data.table的第一个语句用来对列进行选择,由于我们这里需要对所有列进行统计,所以不需要进行任何操作。 keyby用来进行分组,是整个代码的核心。先来看keyby = ....我们使用了ifelse这个函数。ifelse(close - pre_close > 0, "UP", "DOWN")的意思是,如果今天的收盘价高于昨天的收盘价,那么取值UP,反之取值DOWN。...我们的答案中,行、列以及分组三条语句各占一行,实际上这仅仅是为了让代码更直观。

2.5K40

GEO—芯片GSE3292 _pd 中无法找到分组信息—火山图中添加目标基因

可以看到这个数据集pd中是不包含分组信息(HPV阳性和阴性)的。在网页中找到分组信息,如下。可以看到分组信息对应的ID号是pd表格中title列中内容的后面的数字。...处理pd的title列,将"UNC HNSCC01-0394"、 "UNC HNSCC02-0387"等的“-”去掉,再按照title列内容后面的数字,如010394、020387等进行从小到大排列。...可以看到现在sup.tsv和pd的行顺序是一致了,然后直接将sup.tsv的HPV列加到pd中即可。...(deg$P.Value logFC_t)deg = mutate(deg,change = ifelse(k1,"down",ifelse(k2,"up","stable...geom_text_repel参数;色号的确定,可是直接使用ishot截图工具,指针指向哪里,就会显示哪里的色号;如何在图中添加p值阈值的水平线,和logFC阈值的竖直线;geom_hline(yintercept

8910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    表达芯片数据分析2

    ::fread("GPL570-55999.txt",data.table=F, skip=17) colnames(b) #下一行代码里的列名是从colnames(b)...c("ID","Gene Symbol")] colnames(ids2) = c("probe_id","symbol") #和R包里的列名保持一致 #下面三句代码是将没有对应到基因的探针和对应多个基因的探针去掉...str_detect(ids2$symbol,"///");table(k2) ids2 = ids2[ k1 & k2,] # ids = ids2 #使用方法二需要将42行F改为T,55行取消注释...}# 方法3 官网下载注释文件并读取# 方法4 自主注释,了解一下#https://mp.weixin.qq.com/s/mrtjpN8yDKUdCSvSUuUwcA图片一个探针对应多个基因——非特异性探针需要去除..."Disease","Normal"),each = 10)}else if(T){ # 第三种方法,使用字符串处理的函数获取分组 k = str_detect(pd$title,"Control"

    33620

    R练习50题 - 第二期

    练习 4 沪深300成分股中,每天上涨、下跌的股票各有多少? 分析: 本题仍旧是Ex-2的拓展,只不过要求我们进行行选择操作。在data.table的dt[i,j,by]语法中,i代表行选择操作。...为了选出沪深300成分股,我们使用了index_w300 > 0这个语句。...index_w300是一个数值变量,与零进行比较运算后会生成一列与原向量等长的布尔向量(例如 c(True, False False, True...))。...data.table只会选择为True的那些元素。 在data.table的dt[i, j, by]语法中,先执行行选择操作i, 再执行分组操作by, 最后执行列操作j。...注意以上运算的结果是一个取值为True或False的向量,data.table最终会挑选出为True的那些行。 我们仍旧使用ifelse函数生成updown这个变量。

    88820

    scRNA | 和顶刊学分析,OR值展示不同分组的细胞类型差异

    在对单细胞数据进行注释后,通常会使用柱形图比较 不同分组 之间的cluster/celltype差异 scRNA分析|单细胞文献Fig1中的分组umap图和细胞比例柱形图,本文介绍张老师2021年发表于...p.adjust(p.value,"BH")] return(count.dist.melt.ext.tb) } 该分析只需要 分组信息 和 cluster/celltype结果 ,也就是meta.data 中的两列信息...3,使用文献panT数据(图更好看) 文献中的int.CD8.S35.meta.tb.rds就是meta.data矩阵文件,和上面的是一样的,只是问了颜值高一点。...前面提到结果存放在OR.immune.list 列表中,那么就可以分别提取OR结果 和 p值结果,然后使用pheatmap自定义绘制热图 或者 其他可视化形式。...col <- viridis(11,option = "D") b = ifelse(b >= 0.05&(a>1.5|a<0.5), "", ifelse(b<0.0001&(a

    78620

    精准的文献复现—seurat对象添加细胞亚群meta信息

    Science: 数据集:GSE234933 整个推文中需要注意的地方有三点: 作者给出的数据是多个rds格式文件压缩在一块的,解压后循环读取文件并合并成seurat对象 作者给出的细胞亚群信息可以后续添加到...metadata信息中,以便之后直接用其细胞命名 检查分群情况的时候,因为已经添加了细胞亚群信息,但是由于作者前期过滤了一部分细胞,最后只有187,399cells,所以需要去除NA部分。...stringsAsFactors = F) library(Seurat) library(ggplot2) library(clustree) library(cowplot) library(dplyr) library(data.table...subclustering那列 # sce_obj <- CreateSeuratObject(counts = seurat_combined@assays$RNA$counts, #...(sce.all$subclustering=="Endothelial cells","Endothelial cells", ifelse

    5K40

    ​文章复现—bulkRNA转录组结合机器学习等进行相关疾病研究01—多数据集去除批次效应后联合分析以及火山图标准绘制

    duplicated(ids$symbol),] dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的dat rownames...(dat)=ids$symbol#把ids的symbol这一列中的每一行给dat作为dat的行名 dat[1:4,1:4] #保留每个基因ID第一次出现的信息}save(gse_number,dat...duplicated(ids$symbol),] dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的dat rownames...(dat)=ids$symbol#把ids的symbol这一列中的每一行给dat作为dat的行名 dat[1:4,1:4] #保留每个基因ID第一次出现的信息} save(gse_number,dat...duplicated(ids$symbol),] dat=dat[ids$probe_id,] #新的ids取出probe_id这一列,将dat按照取出的这一列中的每一行组成一个新的dat rownames

    17920

    「Workshop」第五期:使用data.table操作数据

    的部分函数在使用的过程中会直接对原来的数据进行改写,为了防止原来的数据被改变,使用拷贝的文件。...banana 4 1 3 5: orange 5 3 3 6: orange 6 6 3 替换时可以增加条件语句 > dt[, c := ifelse...: 返回逻辑值,检查是否存在索引 key(dt):检查索引内容 针对索引进行筛选 ⚠️:roll = TRUE 没有的信息用上一条代替 ⚠️:roll = -Inf 没有的信息用下一条代替 可以设置多个索引...y作为索引去x中寻找有overlap的情况 > x = data.table(chr=c("Chr1", "Chr1", "Chr2", "Chr2", "Chr2"), +...foverlaps(x, y, type="any", mult="first") ⚠️:如果x和y索引的列名称不同时,在foverlaps()内加上一行参数 by.x =c("", "", "") 对应y中列的名称

    3.3K50

    工具不好用你完全可以自己写一个

    **Counts文件 (.counts.mtx.gz)**: 这个文件包含了基因表达的计数数据,通常是一个矩阵格式(Matrix Market格式),其中行代表基因,列代表单个细胞,元素值表示每个细胞中特定基因的读数或计数...文件名示例:GSM6133917_S1.counts.mtx.gz 这个文件是基因表达分析中的核心数据,用于后续的数据处理和分析。...这些文件是单细胞RNA测序数据分析的基础,通常需要使用专门的软件和工具进行处理和分析。...例如,.mtx.gz文件可以使用如Scanpy或Seurat等生物信息学软件包进行读取和分析,而.barcode.csv.gz和.genes.csv.gz文件则提供了必要的上下文信息,以确保数据的正确解释和分析...::fread(ifelse(test = pre_ver_3, yes = gene.loc

    9400

    0765-7.0.3-如何在Kerberos环境下用Ranger对Hive中的列使用自定义UDF脱敏

    文档编写目的 在前面的文章中介绍了用Ranger对Hive中的行进行过滤以及针对列进行脱敏,在生产环境中有时候会有脱敏条件无法满足的时候,那么就需要使用自定义的UDF来进行脱敏,本文档介绍如何在Ranger...中配置使用自定义的UDF进行Hive的列脱敏。...测试环境 1.操作系统Redhat7.6 2.CDP DC7.0.3 3.集群已启用Kerberos 4.使用root用户操作 使用自定义UDF进行脱敏 2.1 授予表的权限给用户 1.在Ranger中创建策略...6.再次使用测试用户进行验证,使用UDF函数成功 ? 2.3 配置使用自定义的UDF进行列脱敏 1.配置脱敏策略,使用自定义UDF的方式对phone列进行脱敏 ? ?...3.在配置脱敏策略时,方式选择Custom,在输入框中填入UDF函数的使用方式即可,例如:function_name(arg)

    4.9K30

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

    现在我想做的是对于每一行,找出非NA的值,填充到“mean.scale”这个新的变量;如果有多个非NA,那么就计算其平均值。也就是说,我希望最终得到如下数据集: ?...(fund_name)] 其中的关键在于拼接函数c(),它将不同列的向量拼接成了一列。另外,这个操作是不是有点熟悉?...事实上,data.table也整合了reshape中的cast和melt函数,并且将cast函数升级为dcast,感兴趣的小伙伴可以去研究一番。 在拉直数据后,接下来要做的工作就很简单了。...首先,别忘了mean中的na.rm = T参数,它能够让函数忽略缺失值。...本 期总结 本期大猫带领大家学习了如何在R中按照行进行处理。R的数据处理哲学是向量,是列,但这并不妨碍我们按照行进行处理,其中的关键,就在于运用 c() 函数把不同的向量拼接成一个向量。

    1.4K20

    生信马拉松 Day9-10 GEO数据分析笔记

    gpl_number)提示信息来找,包括全部注释R包,部分平台文件、部分自主注释(idmap里整理过的) 6、GPL页面的表格文件解析 没有gene symbol有ENTREZ、GB_ACC也可以,ORF一列也是...,对gene_assignment中,在"//"里的第二栏里,带“--”说明不对应任何symbol,需要删去 7、一个探针对应多个基因(非特异性探针),难以解释,这些行直接去掉 8、对于lnkRNA不能直接用页面上的...TargetID,尽量寻找symbol列 9、官网下载对应产品的注释表格:往往是付费的,不能看到 10、不是所有GPL都能找到注释 11、为什么会有很多探针空白 探针设置的前瞻性,20年前的探针可以测到...2年前的基因,以前设计的探针可以测到未来的基因 12、富集分析找不到校正p<0.05的通路的解决方法 a.调整logFC、pvalue阈值,改动差异基因数量 b.不使用默认的padj(富集的),而是使用原始...(k1,"down",ifelse(k2,"up","stable"))) table(deg$change) 这样一个小小的改变,可以调整的地方就变得非常明显,不容易遗漏了~

    24900

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

    ,不要其它的; drop,需要取掉的列名或者列号,要其它的; colClasses,类字符矢量,用于罕见的覆盖而不是常规使用,只会使一列变为更高的类型,不能降低类型; integer64,读如64...比如此例取出DT 中 X 列为"a"的行,和"a"进行merge。on参数的第一列必须是DT的第一列 DT[....(a = .(), b = .())] 输出一个a、b列的数据框,.()就是要输入的a、b列的内容,还可以将一系列处理放入大括号,如{tmp 列求和,输出sv列,列中的内容就是sum(v) DT[, ...., by=x][order(x)] #和上面一样,采取data.table的链接符合表达式 DT[v>1, sum(y), by=v] #对v列进行分组后,取各组中v>1的行出来,各组分别对定义的行中的

    5.9K20

    完成任意癌症的任意基因突变与否分组后的转录组测序的差异分析

    以下是MC3计划的主要特点和工作内容: 突变信息整合: MC3计划旨在整合来自TCGA多个癌症类型的突变信息。...这包括各种癌症样本中的单核苷酸变异(Single Nucleotide Variants,SNVs)、小型插入和缺失(Indels)等。...提供公共资源: MC3计划生成的数据被提供为公共资源,可以被科研机构、学者和生物信息学家免费使用。这种开放的数据共享有助于推动更广泛的癌症研究。...Germline 和 Somatic 变异: Germline 变异: 这些变异存在于生物个体的生殖细胞中(例如卵子和精子),并因此可以传递给后代。...Somatic 变异: 这些变异发生在个体的非生殖细胞(体细胞)中,只会影响个体的一部分细胞,而不会被传递给后代。

    35621

    作者仅提供了fpkm格式表达量矩阵的转录组测序数据集该如何重新分析呢

    每一行代表一个基因或转录本,每一列代表一个样本。 单元格中的值表示该基因在该样本中的读段计数。...TPM(每千个转录本每百万片段的比率): TPM是另一种标准化的表达量指标,它考虑了样本中的总转录本数。 TPM使得不同样本间的基因表达量可比。...输出通常包括每个基因的估计表达量(如FPKM)、表达量的不确定性和统计评估。...Salmon输出: Salmon是一种用于RNA-Seq数据的无需比对的定量工具,它使用轻量级比对和EM算法来估计表达量。 输出通常包括每个转录本的TPM和预期计数(expected count)。...', getGPL = F) pd = pData(gset[[1]]) table(group_list) group_list=ifelse(grepl('Normal',pd$source_name_ch1

    31910

    可能是作者把部分样品标记错误了分组吗

    ) rawcount data.table = F) colnames(rawcount) rawcount[1:4,1...肝癌样品和结直肠癌的肝转移样品是有差异的 他们的差异这些差异涉及到细胞学、分子生物学、临床特征等多个层面。...以下是可能存在的一些主要区别: 组织来源和病理特征: 肝癌样品通常是从原发于肝脏的恶性肿瘤中获取的,而结直肠癌的肝转移样品则来自原发于结肠或直肠的癌症,在肝脏发生了转移。...免疫组织化学标记: 肝癌和结直肠癌的肝转移样品可能在免疫组织化学标记上表现出不同的特征,例如免疫组织化学标记物(如肿瘤标记物)的表达水平。...hepatocellular carcinoma (HCC) 和 colorectal cancer liver metastasis (CRLM) 的两个分组的转录组测序的表达量矩阵很容易差异分析后,使用机器学习算法

    16710
    领券