
學(xué)習(xí)小組Day5--R語(yǔ)言數(shù)據(jù)結(jié)構(gòu).png
一、新手tips
- 賦值符號(hào)是 <-("alt"+"-")
- Console 控制臺(tái)輸入的是單行命令
- 代碼中括號(hào)是英文的
- 顯示工作路徑 getwd()
- 向量是由元素組成的,元素可以是數(shù)字或者字符串
- 表格在R語(yǔ)言中改名叫數(shù)據(jù)框
- 善用命令查看幫助:?read.table,調(diào)出對(duì)應(yīng)的幫助文檔,翻到example部分測(cè)試代碼功能
- 數(shù)據(jù)類(lèi)型
-- 向量(vector)
-- 矩陣(Matrix)
-- 數(shù)組(Array)
-- 數(shù)據(jù)框(Data frame)
-- List
二 向量
1. 向量與標(biāo)量
- 標(biāo)量 單個(gè)元素
- 向量 多個(gè)元素
2. 元素提取
- 根據(jù)位置
> x <- c(1:10)
> x
[1] 1 2 3 4 5 6 7 8 9 10
> x[1:4]
[1] 1 2 3 4
> x[-1:-4]
[1] 5 6 7 8 9 10
> x[c(3,5,8)]
[1] 3 5 8
- 根據(jù)值
> x <- rep(4:9,times=2)
> x
[1] 4 5 6 7 8 9 4 5 6 7 8 9
> x[x>5]
[1] 6 7 8 9 6 7 8 9
> x[x %in% c(7,8)]
[1] 7 8 7 8
三、數(shù)據(jù)框
1.讀取 read.table
- sep 分隔符
- header 表頭
> a <- read.table(file ="huahua.txt",sep = "\t",header = T)
> a
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
2. 設(shè)置行名和列名
- 行名 rowname
- 列名 colname
> b <- read.csv("doudou.txt",sep = ",",header = T)
> b
X1 X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> rownames(b)
[1] "1" "2" "3" "4" "5"
> colnames(b)
[1] "X1" "X2"
> colnames(b)[1]<-"bioplanet"
> b
bioplanet X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
3. 導(dǎo)出write.table
> dir()
[1] "Day5.R" "doudou.txt" "huahua.txt"
> write.table(b,file = "yu.txt",sep = ",",quote=F)
> dir()
[1] "Day5.R" "doudou.txt" "huahua.txt" "yu.txt"
4. 保存與加載
- 保存所有變量 save.image
- 保存一個(gè)變量 save
> save.image(file="bioinfoplanet.RData")
> save(b,file="test.RData")
> dir()
[1] "bioinfoplanet.RData" "Day5.R" "doudou.txt" "huahua.txt" "test.RData"
[6] "yu.txt"
- 加載 load
> rm(list = ls())
> ls()
character(0)
> load("test.RData")
> ls()
[1] "b"
5.提取元素
- 下標(biāo)
> b
bioplanet X2
1 A 1
2 B NA
3 C NA
4 D 3
5 E NA
> class(b)
[1] "data.frame"
> b[1,1]
[1] A
Levels: A B C D E
> b[2,]
bioplanet X2
2 B NA
> b[,1]
[1] A B C D E
Levels: A B C D E
- 行列名
> b$bioplanet
[1] A B C D E
Levels: A B C D E
- 直接使用數(shù)據(jù)框中的變量的方法:
-- attach--detach 兩個(gè)以上數(shù)據(jù)框的列名有沖突時(shí),同時(shí)attach會(huì)報(bào)錯(cuò)
> attach(b)
> bioplanet
[1] A B C D E
Levels: A B C D E
> detach(b)
-- with
a <- data.frame(case=paste("S",1:10,sep = '_'),values=runif(10))
a
with(a,x<<-summary(values))
四、思考題
> save(X,file="test.RData")
Error in save(X, file = "test.RData") : 目標(biāo)對(duì)象‘X’不存在
> X <- b
> save(X,file="test1.RData")
引用內(nèi)容及測(cè)試數(shù)據(jù)來(lái)自自微信公眾號(hào)--生信星球