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

R 数据整理(二:文本数据换为数据或列表)

类似py readlines 方法,同样,R 函数也会逐行(识别) x_line <- readLines("MsigDB/h.all.v7.2.symbols.gmt") ps:发现对于gmt...: x_split <- strsplit(x_line, "\t") 每个向量会被按照指定符号切割,每个向量会被转换为列表对象,列表元素为按照换行符拆开一个个元素。...接着我们需要将该列表元素再进行一些处理: names(x_split) <- vapply(x_split, function(x) x[1], character(1)) # 每个列表第一个元素,...HALLMARK_MITOTIC_SPINDLE" [5] "HALLMARK_WNT_BETA_CATENIN_SIGNALING" [6] "HALLMARK_TGF_BETA_SIGNALING" 纯文本-> 数据...,一定要小心使用cbind 连接,因为不等长连接会自动删除那些过长列表元素(木桶中最短那根板)

3.2K21

怎么用R语言把表格CSV文件数据变成一列,并且名为原列名呢,谢谢

今天收到一封邮件,来询问这样问题: [5veivplku0.png] 这样邮件,是直接邮件,没有寒暄直奔主题邮件。...唯一遗憾是不知道是谁写…… 如果我理解没有错误的话,写信人需求应该是这个样子: 他原始数据: [8vd02y0quw.png] 处理后想要得到数据: [1k3z09rele.png] 处理代码...rnorm(10),y2=rnorm(10),y3=rnorm(10),y4=rnorm(10)) dd library(data.table) melt(dd,id=1) 代码解释: 1,dd为模拟生成数据数据...,第一列为ID,其它几列为性状 2,使用函数为data.table包melt函数 3,melt,dd为对象数据,id为不变列数,这里是ID一列,列数所在位置为1,其它几列都变成一列,然后列名变为名...来信者需求: 怎么用R语言把表格CSV文件数据变成一列,并且名为原列名呢,谢谢 1,csv文件,可以用fread函数读取,命名,为dd 2,数据变为一列,如果没有ID这一列,全部都是性状,可以这样运行

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

    R语言 数据、矩阵、列表创建、修改、导出

    数据数据创建数据来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据函数...R语言列名特殊字符-转化了,该编号可能与其他数据编号无法匹配,ex2 <- read.csv("ex2.csv“",row.names = 1,check.names = F) #row.names...=1指定第一列为名,check.names=F指定不转化特殊字符#注意:数据不允许重复名#rod = read.csv("rod.csv",row.names = 1) #再次重复:数据不允许重复列名...#取子集方法同数据t(m) #与列,数据置后为矩阵as.data.frame(m) #矩阵转换为数据列表列表内有多个数据或矩阵,可通过list函数将其组成一个列表l <- list(m1...(iris)])# 2.提取内置数据iris前5,前4列,并转换为矩阵,赋值给a。

    7.8K00

    R语言】根据映射关系来替换数据内容

    前面给大家介绍过☞R替换函数gsub,还给大家举了一个临床样本分类具体例子。今天我们接着来分享一下如何根据已有的映射关系来对数据数据进行替换。...例如数据转录本ID转换成基因名字。我们直接结合这个具体例子来进行分享。...假设我们手上有这个一个转录本ID和基因名字之间对应关系,第一列是转录本ID,第二列是基因名字 然后我们手上还有一个这样bed文件,里面是对应5个基因CDs区域在基因组上坐标信息。...接下来我们要做就是第四列注释信息,从转录本ID替换成相应基因名字。我们给大家分享三种不同方法。...参考资料: ☞R替换函数gsub ☞正则表达式 ☞使用R获取DNA反向互补序列

    4K10

    3.9生信

    图片 数据来源: 可由代码新建、已有数据转换或处理、读取表格文件、R语言内置数据 内置数据多用于新手练习,eg:iris、volcano、letters、LETTERS 新建数据: 图片 ##A....是针对逻辑值使用 C.数据修改 a.改一个格 df1【3,3】 <- 5 b.改一整列 df1$score <- c(12,23,50,2) c.改行名和列名 rownames(df1) = c("r1...","r2","r3","r4") 修改行名 d.只修改某一/列名 colnames(df1)【2】 = "CHANGE" 第二列名字改为CHANGE e.两个数据连接merge merge...(m) = c("a","b","c") #加列名 rownames(m) = c("q","w","e") #加行名 矩阵置和转换: 置:t(m) 变列,列变 转换:as.data.frame...(m) 转换为数据 列表 列表新建和取子集 新建 q = list(m1 = matrix(1:9, nrow = 3), m2 = matrix(2:9, nrow = 2)) 取子集 如果有

    1.3K30

    生信课程note-3

    #重点:数据#1.数据来源# (1)用代码新建# (2)由已有数据转换或处理得到# (3)读取表格文件 (对数据操作)# (4)R语言内置数据 (可以直接使用数据)heatmap(volcano...、、列dim(df1)nrow(df1)ncol(df1)#名,列名rownames(df1)colnames(df1)#4.数据取子集df1$score 向量取子集用是[] 取score这一列...c("r1","r2","r3","r4")#只修改某一/列名colnames(df1)[2] <- "CHANGE"列名名都是向量#6.两个数据连接test1 <- data.frame(...mm[2,]m[,1]m[2,3]m[2:3,1:2]mt(m):变列m<-as.data.frame(m) 转换为数据 必须要赋值矩阵画热图: pheatmap::pheatmap(m)...test <- read.csv("exercise.csv")# 2.求test第一列数值中位数median(test$Petal.Length)# 3.筛选test,Species列值为a或c

    1.3K40

    从零开始异世界生信学习 R语言部分 02 数据结构之数据、矩阵、列表

    df1) #输出行名 colnames(df1) #输出列名 数据取子集 数据主要操作为按列取子集,取出来为向量;按去子集取出仍为数据。...#取第二列 df1[c(1,3),1:2] # 取第一和第三以及第一列和第二列,注意逗号前后不同向量,分别表示取得和列!!!..."r2","r3","r4") #只修改某一/列名 colnames(df1)[2] <- "CHANGE" # | 或符号前后不可以连接字符,只能用于数字,逻辑值 两个数据连接 test1 <...,"b","c") #加列名 m m[2,] #矩阵取子集不支持使用$ m[,1] m[2,3] m[2:3,1:2] m #矩阵重要函数 t(m) #行列置,变列,列变名和列名都跟着变换...as.data.frame(m) #换为数据 #作图 pheatmap::pheatmap(m) #使用pheatmap包pheatmap函数做图,热图会先进行聚类,之后再作图。

    1.8K20

    Day3

    (列名 =向量(列内容), 列名 =向量(列内容))###由已有数据转换或处理得到读取表格文件df2 <- read.csv("gene.csv")R语言内置数据属性dim(df1)#维度nrow(...df1)#行数ncol(df1)#列数rownames(df1)#名colnames(df1)#列名取子集:取列: $按坐标: [] #2,2取第二第二列按名字,c('gene','change')...取多列/修改一个格-取出后赋值df13,3 <- 5一整列 df1$score <- c(12,23,50,2) 新增一列-$接原来表格不存在列。...(df1)2 <- "CHANGE"两个数据连接/合集-mergemerge(test1,test2,by="共同列列名")merge(test1,test3,by.x = "name",by.y...= "NAME")# name为test1需要合并列名矩阵matrix -**二维,只允许一种数据类型新建 <- matrix()取子集-[]置-t()转换为数据: as.data.frame

    7610

    生信技能树-R语言-day3

    这些元素筛选出来#提示:%in%length(g %in% s) # 错误,因为%in%产生逻辑值,T和F都存在,所以都会被计算个数,相当于length计算是逻辑值个数g[g %in% s]#...3> df1[,2] # 逗号右边数字,取第二列[1] "up" "up" "down" "down" > df1[c(1,3),1:2] # 逗号前第一和第三,逗号后第一列到第二列...,之前不存在)修改行名rownames() = c()赋值修改后向量 (名都是一样)修改其中一列列名colnames(文件名)[第几列]= “”赋值列名字(每一列名字都不一样)两个数据连接...,y]矩阵置和转换 t()置(和列互转,要先给列改名,不然置没有区别> colnames(m) m a b...7 8 9换为数据 m = as.data.frame()可以用class来判断是否转换成功list列表 新建> x <- list(m1 = matrix(1:9, nrow = 3)

    7210

    R语言系列第一期(番外篇 ):R6种对象—向量、矩阵、数组、因子、列表、数据

    可以按列或者按分别使用cbind和rbind函数向量‘粘’在一起。...· 6.数据 · 到最后一个对象了,在其他统计软件包数据被称为“数据矩阵”或“数据集”,他是一系列等长度向量和/或因子,交叉相关,很适合数据收集类型。...· 之前我们提到数据提取向量,使用d$age来提取dage变量。...只有一个数字索引在数据只会提取列数据,不会提取行数据,所以d[3, ]”,”省掉和不省结果是不同。逗号前代表,逗号后代表列。...,[1] FALSE  TRUE  TRUE,然后这个结果在索引逗号前面代表入选结果,第一剔除,后两保留。

    2.3K30

    2023.4生信马拉松day3-数据结构

    跟我念三遍:row是横排成行;colum是纵队为列;rownames(df1) #看所有名colnames(df1) #看所有列名3.数据取子集-(1)按列名取列——【最重要】df1$score...df1[,2] #取出来列是向量df1[2] #不加逗号,可以取出列,并保留其数据属性df1[c(1,3),1:2] #取第一 第三前两个数(会继承名、列名)#小tips:读懂error...df1$p.value <- c(0.01,0.02,0.07,0.05) df1#改行名和列名rownames(df1) <- c("r1","r2","r3","r4")#只修改某一/列名colnames...m[2,]m[,1]m[2,3]m[2:3,1:2]#矩阵置和转换mt(m)as.data.frame(m) class(m) #看着是把m变成了数据,但是没有赋值就没有发生过;要m=...iris最后一列有哪几个取值,每个取值重复了多少次table(iris[,ncol(iris)])# 2.提取内置数据iris前5,前4列,并转换为矩阵,赋值给a。

    1.4K00

    阿榜生信笔记3

    ()读取行数、ncol()读取列数、rownames()读取名、colnames()读取列名 3、数据取子集 ①、$:取数据某一项 #4.数据取子集 df1$gene mean(df1$...: 5、数据修改 数据修改和向量类似,先提取出要修改值,重新赋值后,修改成功了 注意下面这张图片: 提个小问题:你知道这两句代码区别吗?...df1$p.value <- c(0.01,0.02,0.07,0.05) df1 答案是不存在是增加,存在是修改 #改行名和列名 rownames(df1) <- c("r1","r2","r3",..."r4") #只修改某一/列名 colnames(df1)[2] <- "CHANGE" 6、数据连接 我们如何这两个数据连接起来呢?...[,1] m[2,3] m[2:3,1:2] ②、矩阵置和转换 如上图所示,colnames()<-c()列名重新赋值,t()置,和列互相转换,as.data.frame()矩阵转换为数据

    87700

    GEO数据挖掘-基于芯片

    (pd), colnames(exp))这行代码取临床信息数据 pd 名和表达矩阵 exp 列名交集。...) # 关于scale进一步学习:zz.scale.R4.2 解析4.2.1 dat = as.data.frame(t(exp))表达矩阵 exp 置后转换为数据。...5.2.5 差异基因热图过滤和重命名表达矩阵 exp = exp[deg$probe_id,]: exp 矩阵过滤为 deg 数据 probe_id 列对应。...这一步确保表达矩阵 exp 只包含差异表达基因分析结果探针。 rownames(exp) = deg$symbol:表达矩阵 exp 名设置为 deg 数据 symbol 列。...rownames(annotation_col) = colnames(n):注释数据 annotation_col 名设置为表达数据矩阵 n 列名,确保注释信息与样本数据对齐。

    16910

    Day07 生信马拉松-数据整理R

    全文并非是对数据整理实操整理,主要整理在数据整理/清洗中常用R包介绍 library(tidyr) library(dplyr) library(stringr) library(tibble) 1...:使gene名变为列名样本名转化为data.frame第一列 ggplot2对名并不友好,通常要使样本名转化为data.frame第一列,防止在后续代码运行过程中行名丢失 图片 图片 step2...把原来名转变为第一列 图片 step3 宽变长 :test、gene、count数均在一上(将上图数据变为长数据) 图片 6.2实操代码 6.2.1 如何生成一个matrix set.seed...dat = t(exp) %>% #matrix进行行列置 as.data.frame() %>% #matrix转为data.frame rownames_to_column() %...### ggplot2 分面相关设置(facet)详解 7.一些实操便捷函数 7.1 match() 函数 load("matchtest.Rdata") x y ## 把y列名正确替换为x里面的

    23500

    R语言数据结构(三)数据

    数据结构是指在计算机存储和组织数据方式,不同数据结构有不同特点和适用场景。R语言中常用数据结构,包括向量、矩阵、数组、列表和数据。...为方便大家理解记忆,对每种数据结构基本操作概括为四大类: 创建数据结构 往里面添加数据 从里面查询数据 对里面的数据进行修改 这篇文章我们介绍数据使用 数据 数据R语言中一种类似于表格数据结构...stringsAsFactors: 逻辑值,指定是否字符向量转换为因子向量。在R 4.0.0之前,默认设置是TRUE,但现在已更改为FALSE。...行列索引号从1开始,表示第一第一列,负数表示排除对应位置元素。名称是指数据每个向量名称,可以用双引号或单引号包围。使用方括号[]访问数据元素时,返回结果仍然是一个数据。...删除数据第一 df_deleted_row <- df[-1, ] cat("删除第一数据:\n") print(df_deleted_row) # 删除第一数据: #

    25030

    巧用R语言实现各种常用数据输入与输出

    数据输入或加载到R工作空间中,是使用R进行数据分析第一步。...R语言中数据输入需要设置数据读取路径,一般数据文件放到工作目录下,这样直接就可以通过read.table等读取数据文档(不许要设置路径)。...(2)header:一个表示文件是否在第一包含了变量逻辑型变量。 如果header设置为TRUE,则要求第一要比数据数量少一列。 (3)sep分开数据分隔符。...read.table 5 保存为.Rdata 通过save()函数保存为.Rdata文件,通过load()函数数据加载到R。...如果一个数值向量,其元素为引用索引。在这两种情况下,列名报价,如果他们被写入。如果FALSE,并没有被引用。 sep: 字段分隔符字符串。每一x值都被这个字符串分隔开。

    7.6K42

    R语言入门系列之一

    a,b,c,sep=" ")a、b、c粘贴为一个字符串,空格分割tolower()转换为小写,toupper()转换为大写substring()substring(a,1,3)返回字符对象a第1到第...)返回列名字rownames()返回名字t()矩阵置 数组(array)与矩阵相似似,但是维度可以大于2,类似的具有array()、as.array()、is.array()函数,创建方式如下所示:...数据元素索引有三种方法,第一种为通过列序号索引,第二种通过列名字索引,第三种通过$变量名索引,如下所示: 可以使用attach()函数来数据添加到当前平台,这样就可以直接使用列名字或变量名来调用数据数据...变量类型不同,在统计其处理方法也不同(例如RDA、CCA等),结果也不相同。 由于因子存在,数据分组信息等都可以转换为一个变量,从而使得数据可以存储远多于矩阵数据。...(R会添加默认变量名),为TRUE则会使用第一作为变量名;row.names、col.names设置那一列为名字,哪一列名字;sep设置分隔符,默认是一个或多个空格、制表符tab;设置stringsAsFactors

    4.1K30
    领券