天天看點

c++中整形輸入逗号_R語言資料的輸入R語言資料輸入使用鍵盤輸入資料第一種:R内置的文本編輯器,使用edit()函數第二種:直接在代碼中嵌入資料從帶分隔符的文本檔案導入資料導入Excel資料

R語言資料輸入

可供R導入的資料源,文本檔案(txt、XML)、統計軟體(SPSS、SAS)、鍵盤、其他(Excel)、資料庫管理系統(SQL、MySQL)

在這裡,我打算挑一些常用的。

使用鍵盤輸入資料

兩種方式

1、R内置的文本編輯器,使用edit()函數。

2、直接在代碼中嵌入資料

第一種:R内置的文本編輯器,使用edit()函數

data data data               #顯示data資料框

 age weight gender

1   1      1     男

2   1      2     女

在這個對話框,我們可以給變量gender選擇變量類型,有numeric和character兩種類型。

c++中整形輸入逗号_R語言資料的輸入R語言資料輸入使用鍵盤輸入資料第一種:R内置的文本編輯器,使用edit()函數第二種:直接在代碼中嵌入資料從帶分隔符的文本檔案導入資料導入Excel資料

輸入完資料,結果會儲存到之前指派的對象中data

第二種:直接在代碼中嵌入資料

可以參考之前推送的資料結構———下。裡面有詳細講解

從帶分隔符的文本檔案導入資料

文法:

data

file是帶分隔符.csv檔案,輸入該檔案的位址。notice!不要直接複制粘貼檔案路徑,不然會得到如下錯誤。

data 錯誤: 由""D:\R"開頭的字元串中存在'\R',但沒有這種逸出号

"\"在R語言被認為是轉義字元,應該改為"\"或者"/"才算正确。

options是控制如何處理的選項。

選項 描述
header 一個表示檔案是否在第一行包含了變量名的邏輯型變量
sep 分開資料值的分隔符。預設是sep="",這表示了一個或多個空格、制表符、換行或回車。使用sep=","來讀取用逗号來分割行内資料的檔案,使用sep="\t"來讀取使用制表符來分割行内資料的檔案
row.mames 一個用于指定一個或多個行标記符的可選參數
col.names 如果資料檔案的第一行不包括變量名(header=FALSE),你可以用col.names去指定一個包含變量名的字元向量。如果header=FALSE以及col.names選型被省略了,變量會被分别指令為V1、V2,以此類推。
na.strings 可選的用于表示缺失值的字元向量。比如說:na.strings=c("-9","?")。表示把-9和?值在讀取資料的時候轉換成NA
colClasses 可選的配置設定到每一列的類向量。比如說,colClasses=c("numberic","numberic","character","NULL","numberic")。把前兩列讀取為數值型向量,把第三列讀取為字元型向量,跳過第四列,第五列讀取為數值型向量,如果後面還有列,重複循環。可以預見到,在遇到大型資料的時候,colClasses可以顯著提高讀取效率。
quote 用于對有特殊字元的字元串劃定界限的字元串,預設值是雙引号或單引号。
skip 讀取資料前跳過的行的數目。這個選項在跳過頭注釋的時候比較有用
text 一個指定文字進行處理的字元。如果text被設定了,file應該被留白。

這是Studentgrades.csv檔案的前幾行

StudentID,First,Last,Math,Science,Social Studies

011,Bob,Smith,90,80,59

012,Jane,Weath,69,58,85

013,Dan,"Wkfa III",85,67,83

045,Mary,"O'Leat",75,65,86

我們用讀取這個檔案

data data

  First     Last Math Science Social.Studies

11   Bob    Smith   90      80             59

12  Jane    Weath   69      NA             85

13   Dan   Wkfa III 85      67             83

45  Mary    O'Leat  75      65             86

str(data)  #這個函數可以檢視資料框的資料結構

'data.frame':   4 obs. of  5 variables:First:Factorw/4levels"Bob","Dan","Jane",..:1324 Last          : Factor w/ 4 levels "O'Leat","Smith",..: 2 3 4 1Math:int90698575 Science       : int  80 NA 67 65

$ Social.Studies: int  59 85 83 86

變量名Social Studies被自動地根據R的習慣所重命名。列StudentID現在是行名,不再有标簽。Jane的缺失的科學課成績被正确地識别為缺失值NA。不得不用引号包住Wkfa III,否則R會在那一行讀出七個值,而不是六個。同時也不得不用引号包住O'Leat,否則R會把單引号讀取為分隔符。我的第一列前面的0也不見了。

有時候導入資料和你想要的資料總是會有偏差,你想把缺失的去掉,該出現的沒出現,改有的沒有。

在後面我們會講到把缺失值去掉,提取想要的資料,剔除不想要的資料。

預設的,read.table()把字元變量轉化為因子,這并不是我們想要的情況,在此,可以加上選項colClasses選項去對每一列都指定一個類

如下代碼,還是對Studentgrades.csv

data data

   First     Last Math Science Social.Studies

011   Bob    Smith   90      80             59

012  Jane    Weath   69      NA             85

013   Dan Wkfa,III   85      67             83

045  Mary   O'Leat   75      65             86

str(data)

'data.frame':   4 obs. of  5 variables:First:chr"Bob""Jane""Dan""Mary" Last          : chr  "Smith" "Weath" "Wkfa,III" "O'Leat"Math:num90698575 Science       : num  80 NA 67 65

$ Social.Studies: num  59 85 83 86  #行名保持了字首0,First和Last不再是因子,而是字元。

導入Excel資料

讀取一個Excel檔案最好的方式是在Excel中将其導出為逗号分隔檔案(.csv),并使用前面描述的那樣導入R中。

同時,有一個xlsx包直接地導入Excel工作表,相應的,你需要安裝Java包。

install.packages("xlsx")         #安裝xlsx包

library("xlsx")                  #加載包

workbook mydataframe

今天的學習就到這裡,有問題的小夥伴背景留言,一起學習進步。

繼續閱讀