|
发表于 2022-8-22 18:45:35
|
查看: 1129 |
回复: 0
背景
数据框是一种表格式的数据结构,属于一种二维表,分为行和列。数据框旨在模拟数据集,与其他统计软件例如 SAS 或者 SPSS 中的数据集的概念一致。数据集通常是由数据构成的一个矩形数组,行表示观测,列表示变量。不同的行业对于数据集的行和列叫法不同。在一个数据框中,每一行的元素个数相同,每一列元素个数也相同,每一列的数据类型一致,都为一个向量,每一行内容还是一个数据框。数据框是 R 中使用最广泛的一种数据格式。
一、创建数据框
利用 data.frame()函数创建数据框。
- a <- 1:5
- b <- letters[1:5]
- c <- c('one','two','three','four','five')
- data.frame(a,b,c)
- a <- 1:6
- data.frame(a,b,c)
- # Error in data.frame(a, b, c) :
- # arguments imply differing number of rows: 6, 5
复制代码
二、数据框索引
1. 中括号
2. 名称
3. dollar符
4. 逻辑值
- #数据框 索引
- colnames(x)
- x$City
- x$Income
- x$Province
- #练习
- x<- read.csv('homo_length.csv')
- class(x)
- x <- x[1:24,]
- colnames(x)
- x$chr
- x$length
- barplot(height = x$length,
- names.arg = x$chr,
- las = 2,
- col = rainbow(4),
- border = F)
复制代码
三、利用 R 实现 vlookup
- rm(list = ls())
- #Excel 函数:=VLOOKUP($A2,Sheet1!$A$1:$I$201,COLUMN(Sheet1!A2),FALSE)
- #读入 200 个基因的列表 bigtable
- genes200 <- read.csv("200genes.csv",header = T,stringsAsFactors = F,row.names = 1)
- #读入 121 个基因的 list small list
- genes121 <- read.csv("121genes.csv",header = T,stringsAsFactors = F)
- head(genes200)
- head(genes121)
- genes200["CLU",]
- #修改 gene table 行名,前面row.names=1已经改了
- # rownames(genes200) <- genes200$gene
- # genes200["CLU",]
- # genes200[c("CLU","DCN"),]
- #去除重复 gene ID
- gene93 <- unique(genes121$gene)
- #利用数据框的访问功能,一次实现 Excel Vlookup 功能
- dta <- genes200[gene93,]
- dta
- #数据中包含没有检索到的 gene ID,返回值为 NA,利用 na.omit 删除包含 NA 的行
- dta <- na.omit(dta)
- rownames(dta) <- 1:nrow(dta)#86个行数重命名
- write.csv(dta,file = "gene93.csv",row.names = F)
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
|