R的數(shù)據(jù)結構
向量
- 一個向量是一排有序排列的元素
-
元素指的是數(shù)字或者字符串(用chr表示)等薪者,根據(jù)它可以區(qū)分兩個詞:
標量:一個元素組成的變量
向量:多個元素組成的變量(并且有順序)
數(shù)據(jù)對應關系.png
R賦值用這個符號 <-
賦值給一個變量许帐,如下
X <- 1 # 將元素1賦值給X
Y <- (1,2,3) #常用的向量寫法,意為將x定義為由元素1主经,2荣暮,3組成的向量。
Y <- 1:10 #從1-10之間所有的整數(shù)
Y <- seq(1,10,by = 0.5) #1-10之間每隔0.5取一個數(shù)(注意是逗號不是分號罩驻,如果寫成分好會報錯的穗酥,如下圖)
報錯信息.png
x <- rep(1:3,times=2) #1-3 #把元素1,2惠遏,3重復2次(前面的值一個標量或向量砾跃,不能寫成以逗號分隔的多個標量或向量,這樣只會重復第一個节吮,如圖下)
黑色字體是輸出結果.png
從向量中提取元素
-
按元素位置提取 (首先賦值給x)
根據(jù)元素位置提取 -
按數(shù)值提取
image.png
數(shù)據(jù)框
數(shù)據(jù)框可以理解為表格抽高,優(yōu)點是可以在不影響原始數(shù)據(jù)的基礎上改變數(shù)據(jù)
- 讀取本地文件
讀取前需要將文件放在工作目錄下,查看當前目錄可以用getwd()
命令行及執(zhí)行后結果.png - 設置行名列名
上圖中A <-read.table("huahua.txt",sep="\t",header=T)
A變量已被賦值透绩,變?yōu)橐粋€數(shù)據(jù)框
rowname(A) #查看數(shù)據(jù)框A的行名
colname(A) #查看A的列名
colname(A) [1] <- "Bio" #若表格及數(shù)據(jù)框左上角第一行為空翘骂,則可以通過此命令來修改為Bio
A<-read.table(file = "huahua.txt",sep = "\t",header =T,row.names=1)
#最后row.names的表上第一列為行名,若第一列不作為行名則為默認值row.nams=0
命令執(zhí)行結果.png
- 導出數(shù)據(jù)框
write.table(A,file="test.txt",sep = ",",quote=F)
#sep=","即分隔符改為逗號帚豪,quote=F字符串去掉雙引號(默認格式帶有雙引號) )
- 變量保護與加載
#這次沒有處理完的數(shù)據(jù)下次想接著用怎么辦?--學會保存和重新加載碳竟。保存的格式是RData。
save.image(file="test.RData")#保存當前所有變量
save(X,file="test.RData")#保存其中一個變量
load("test.RData")#再次使用RData時的加載命令
- 提取數(shù)據(jù)框中的元素 (主要通過坐標位置來提取)
- X[x,y] #第x行第y列
- X[x,] #第x行
- X[,y] #第y列
- X[y] #也是第y列
- X[a:b] #第a列到第b列
- X[c(a,b)] #第a列和第b列
- X$列名 #也可以提取列
#(比較上面的寫法這個更簡便志鞍,而且不用寫括號瞭亮,并且支持Tab自動補全,不過只能提取一列)
問題回答:
save(X,file="test.RData")固棚,中出現(xiàn)報錯‘object X not found',說明R環(huán)境中未找到X仙蚜,可以查看X的書寫是否有錯此洲,如大小寫等