R学习 数据结构和简单处理

2024-03-11 09:04:00 浏览数 (2)

向量

用于存储数值、字符、逻辑型数据的一维数组。同一向量中无法混杂不同类型或模式的数据

c()可用来创建向量

代码语言:{r}复制
c(1,2,3,4)
c("1","2","3","4")
c(TRUE,FALSE)
c(1:4)

1、2、3行分别生成数字、字符、逻辑型变量,“:”生成连续的数字

生成更复杂的向量

代码语言:{r}复制
rep("x",times = 4)#重复
seq(from = 2,to = 16,by = 2)#参数名称可省,2到16间每2个数取一个
rnorm(n = 4)#随机取4个数
paste0(rep("x",times = 3),1:3)#两两组合,无间隔符
paste(rep("x",times = 3),1:3,sep=",")#两两组合,有间隔符,默认为空格

函数都有其默认值,? 函数名可查看帮助文档

为方便后续修改,能用函数代替,就不要手动去数

矩阵

二维数组,每个元素都有相同的类型

创建矩阵

代码语言:{r}复制
y<-matrix(1:20,nrow = 5,ncol = 4,byrow=T)

生成一个矩阵,元素为1-20,大小5*4,byrow=T代表按行填充,默认按列

数据框

最常处理的数据结构

来源

(1)新建

(2)由已有数据转换或处理得到

(3)读取文件

(4)R语言内置数据

查看R语言内置数据

代码语言:{r}复制
data() #列出已载入的包中的所有数据集
data(package =.packages(all.available = TRUE)) #列出已安装的包中的所有数据集

新建数据框

代码语言:{r}复制
name<-c("A","B","C","D")
age<-rep(10,times=4)
grade<-c("good","poor","poor","good")
df<-data.frame(name,age,grade)
df

选取数据框中元素

代码语言:{r}复制
df[1]#第一列
df$age
df[,c("age","name")]#按列名取
df[c(1,4),1:3]#1、4行,1到3列

修改数据框中元素

代码语言:{r}复制
df[2,2] <- 11#改一个
df$grade<-c("good","good","good","good")#改一列
colnames(df)[2] <- "年龄"#改第二行行名,列名为rownames(df)

新建列

代码语言:{r}复制
df$class <- c(2,2,3,4)#后接不存在的行名

两个数据框的连接

代码语言:{r}复制
test1 <- data.frame(name = c('jimmy','nicker','Damon','Sophie'), 
                    blood_type = c("A","B","O","AB"))
test1
test2 <- data.frame(name = c('Damon','jimmy','nicker','tony'),
                    group = c("group1","group1","group2","group2"),
                    vision = c(4.2,4.3,4.9,4.5))
test2

test3 <- data.frame(NAME = c('Damon','jimmy','nicker','tony'),
                    weight = c(140,145,110,138))
test3
merge(test1,test2,by="name")
merge(test1,test3,by.x = "name",by.y = "NAME")

原有两个数据框,新建一个数据框,根据相同的一列合并

筛选数据框中的数据

代码语言:{r}复制
df$class[df$class>2]

引用自生信技能树,小洁老师

0 人点赞