前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3.9生信

3.9生信

原创
作者头像
用户3367347
修改2023-03-14 11:28:42
1.3K0
修改2023-03-14 11:28:42
举报
文章被收录于专栏:淡淡

matrix :矩阵,整个表只允许一种数据类型

data.frame:数据框,每一列只允许一种数据类型

可以根据生成的函数或者用class或者is族函数判断。

数据框的来源:

可由代码新建、已有数据转换或处理、读取表格文件、R语言内置数据

内置数据多用于新手练习,eg:iris、volcano、letters、LETTERS

新建数据框:

代码新建
代码新建

##A. 数据框属性

dim(df1) 数据框属性,返回行数列数

nrow(df1) 数据框行数

ncol(df1) 数据框列数

rownames(df1) 数据框行名

colnames(df1) 数据框列名

##B. 数据框取子集

a.$

df1$gene #删掉“gene”,按tab键,可以提示出表格的全部列名

小技巧:在今后把 df1$gene 看作一个整体,是一个向量,这样不容易产生困惑。

b.按照坐标

df1【3,2】 取出第3行第2列

df1【3,】 取出第3行

df1【,2】 取出第2列(但不常用,不如$,$可以直接看出列名)

df1【c(1,3),1:2】 取出第1,第3行的第1和第2列

c. 按名字

df1【,"gene"】

df1【,c('gene','change')】

d.按条件(逻辑值)

df1【df1$score>0,】

取子集的逻辑值向量必须与X对应,但不需要由X生成
取子集的逻辑值向量必须与X对应,但不需要由X生成

如何取数据框的最后一列?

ncol(df1) 知道了行数就方便取最后一列:df1【,ncol(df1)】 这样子方便代码复用。

如何取数据框除了最后一列以外的其他列?

df1【,-ncol(df1)】

“-”是针对数据使用,“!”是针对逻辑值使用

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(test1,test2,by="name") 将test1和test2a按照name连接。

merge(test1,test3,by.x = "name",by.y = "NAME")

当test1和test2的列名不一样是,按照上述公式连接。

all.x = all, all.y = all,“不放弃每一个人”,不舍弃无法合并的内容

小结
小结

矩阵

取子集:不支持$

新建矩阵:

m = matrix(1:9, nrow = 3)

colnames(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))

取子集

如果有m1、m2这些元素名字,可以用$取子集;

如果没有m1、m2这些元素名字,用双括号取子集。 q【【2】】

names函数获取元素名字

names(m1)

names(test1)

names 函数不仅仅能对列表使用,还可以对数据框使用(返回列名)。

也可以对向量使用:

names(scores) = c("a","b","c")

names(scores)【scores>60】

删除变量

rm(l) 删除一个变量

rm(df1,m) 删除多个变量

rm(list = ls()) 删除全部变量

Ctrl+ L 清空控制台

总结
总结

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数据框的来源:
  • 新建数据框:
    • a.$
      • b.按照坐标
        • c. 按名字
          • d.按条件(逻辑值)
          • C.数据框修改
            • a.改一个格
              • b.改一整列
                • c.改行名和列名
                  • d.只修改某一行/列的名
                    • e.两个数据框的连接merge
                    • 矩阵
                      • 取子集:不支持$
                        • 新建矩阵:
                          • 矩阵的转置和转换:
                          • 列表
                            • 列表新建和取子集
                              • 新建
                              • 取子集
                            • names函数获取元素名字
                              • 删除变量
                              领券
                              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档