R學習入門軌跡(2) 數據的讀與寫

當我的程序能夠讀取外界的數據,並正確地處理並輸出結果時,我才感到程序發揮了它專屬的價值。而我的第一個能做到的程序,是在R上實現的。

(1)創建文件夾:

> dir.create('K:/Create_1');
> dir.create("K:/Create_1");

這條語句在K盤創建了一個名爲 Create_1 的文件夾。引號中包含所要創建的文件夾的地址。
使用單引號與雙引號均可。

(2)讀取數據:

My_data_1 <- read.table(file="clipboard",header = TRUE)

針對剪貼板上數據的讀取,使用read.table()函數,header=TRUE 表示將數據的第一行識別爲列的名稱。

File_1 <- file.choose()
My_data_2 <- read.table(file = File_1,header = TRUE,sep = ",")  #table 表示二維表格數據

通過file.choose()函數,可以用鼠標選擇文件,從而不用手動輸入地址。sep=”,” 表示這是一個以逗號分隔的數據。

read.csv(file="路徑名")   #也可使用專門讀取csv文件的函數

使用中發現:使用read.csv()函數所讀取的數據,默認是按照首行是列名稱來讀取的。也就是說首行的數據被讀取爲列的名稱。 如果想將首行也作爲數據讀入,使用read.table()函數。

 My_data_2=read.table(file = File_1,header = FALSE,sep = ',')    #FLASE表示表格中沒有列名的數據,因而不用讀取列名

(3)二維數據的讀取:
對於一個二維數組,訪問某元素的方式是 Altr[x][y],表示第x行,第y列。

(4)從一個二維數組中取出多個數字(向量)

> Vector_a = My_data[c(1,2,3,4,5,6,7,8),1] 
          #My_data爲一個二維數組,Vector_a取My_data的第一列的前8個元素
          #要取多個元素,行或列其中有一必爲向量

  #更簡便的兩種方式
  > Vector_a=My_data[seq(from=1,to=8,by=1),1]

  #seq(form=1,to=8,by=1)  產生從1到8,等差2的等差數列。
  > Vector_c=1:8    #也可以產生等效的數列
    #若要選取某一列或某一行的全部元素,將行或列空出即可

     Vector_d = My_data[x,y]
     My_data[1,]    #選取第一行的全部

有行或列名稱時:

My_data[,'Fri']   #可以用列名或行名來代替
My_data$Fri       #或在$符號後寫上列名稱

使用names()colnames() 函數科查看所設定的列名稱,當然使用rownames()可以查看行名稱。

如果數據有行與列名稱,則直接使用 My_data[‘行名稱 ‘,‘列名稱’ ] 來訪問數據,更加直觀方便。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章