R语言基础-02(数据框、下载包)

2023-03-12 13:57:17 浏览数 (1)

数据框、矩阵、列表

matrix:只允许一种数据类型(有坑,见后)

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

数据框属性

代码语言:text复制
df1 <- data.frame(gene   = paste0("gene",1:4),
                 change  = rep(c("up","down"),each = 2),
                 score   = c(5,3,-2,-4))
df1
##    gene change score
## 1 gene1     up     5
## 2 gene2     up     3
## 3 gene3   down    -2
## 4 gene4   down    -4

#dimension
dim(df1)#行列
## [1] 4 3
nrow(df1)#返回数值,多少行
## [1] 4
ncol(df1)#返回数值,多少列
## [1] 3

#名
rownames(df1)#返回向量,行名
## [1] "1" "2" "3" "4"
colnames(df1)#返回向量,列名
## [1] "gene"   "change" "score"

#修改数据框就是修改向量
#改行名和列名
rownames(df1) <- c("r1","r2","r3","r4")
#只修改某一行/列的名
colnames(df1)[2] <- "CHANGE"

数据框取子集

取子集的本质还是按位置或者按逻辑值

代码语言:text复制
#筛选数值型
df1[df1$score > 0,]#取出df1中

#筛选test中,Species列的值为a或c的行
test[test$Species!="b",]
test[test$Species=="a"|test$Species=="c",]
test[test$Species %in% c("a","c"),]

矩阵不支持$

删除

代码语言:text复制
#删除 
rm(l)#删除一个
rm(df1,df2)#删除多个
rm(list = ls()) #清空

下载包

代码语言:text复制
options("repos"=c(CRAN="http://mirrors.tuna.tsinghua.edu.cn/CRAN/"))#设置镜像
#1.CRAN的直接install
install.packages("tidyr")
#2.BiocManager的包要在它里面下
install.packages('BiocManager')
BiocManager::install("ggplot2")
#3.github的包要写作者
devtools::install_github("jmzeng1314/idmap1")
#最优解
if(!require(string))install.packages("stringr")

包是否下载成功的唯一标准是library()没有error,当提示package not available时,原因可能为:

1.名字写错;

2.安装命令错误;

3.包与R语言版本不符合(极少数);

4.包过时。

首先考虑原因1.2,多搜索多尝试

提示connection、download:网络问题

提示writable、permission:权限问题,管理员方式打开R

下载包报错下载包报错

读取表格、fread函数

代码语言:text复制
input <- read.csv("data/input.csv",header = T,row.names = 1,sep = ",")#sep:"," " " ";" "/t"
read.table()

library(data.table)
input <- fread("data/input.csv",header = T,row.names = 1,sep = ",")

Tips:

  1. 输出文件时不要覆盖原文件
  2. 需要用非proj的文件夹内的文件时,写全路径
  3. 多用tab
  4. fread函数读取快且遇空行不易出错

引用自生信技能树马拉松课程小洁老师R语言基础

0 人点赞