R語言小技巧
一、R語言讀取文本文件:
1、文件目錄操作:
getwd() : 返回當前工作目錄
setwd(“d:/data”) 更改工作目錄
2、常用的讀取指令read
read.table() : 讀取文本文件
read.csv(): 讀取csv文件
如果出現缺失值,read.table()會報錯,read.csv()讀取時會自動在缺失的位置填補NA
3、靈活的讀取指令scan() :
4、讀取固定寬度格式的文件:read.fwf()
文本文檔中最後一行的回車符很重要,這是一個類似於停止符的標識,否則讀入時會顯示“最後一行不完整”的警告,但是不影響數據讀入的效果。
5、讀取Excel數據:
(1)第一種方法
首先打開Excel,選中需要的數據後複製,
然後再R中輸入以下的指令:data.excel =read.delim(“clipboard”) #clipboard即剪貼板
(2)第二種方法:
使用xlsx包,獲取Excel連接的函數是read.xls()和read.xlsx() 分別讀取Excel2003版和2007版的數據
data1<-read.xlsx(‘filename.xlsx’,sheetName=“Sheet6”,rowIndex=1:23,colIndex= 2:6,encoding=“UTF-8”) ##導入sheet6源數據 第1-23行(第一行爲列標題),2-6列,encoding對應中文字符讀取
sqlTables(channel)# 列出Excel中的表格
獲取Sheet1中的數據,可以使用如下任意的一種方式,
data.excel2 =sqlFetch(channel,“Sheet1”)
data.excel2 =sqlQuery(channel,“select * from [Sheet1$]”)
close(channel) #關閉ODBC連接,釋放空間
6、讀取網頁數據
readHTMLTable()函數
7、讀取R格式的文件:
R的數據或者更一般的對象可以通過save()保存爲R專有的文件格式,以Rdata爲後綴,要讀取此類文件,需要用到函數load()來加載,
8、readLines(“d:/data/cat.txt”): 可以直接從連接中以行的形式來讀取文本
要顯示列表中的變量 需要使用符號$
二、數據保存:
1、使用函數cat()
cat(…,file="",sep="",fill = FALSE ,labels=NULL,append=FALSE) #file表示要輸出的文件名,當參數append=TRUE時,在指定文件的末尾添加內容。sep:表示以空格作爲分隔符
2、保存爲文本文件:
write僅可以寫出一個矩陣或向量的特定列,和對一個矩陣進行轉置
write.table() 可以把一個數據框或列表等對象以包含行列標籤的方式寫出。
write.csv(): 將數據框保存爲逗號分隔文件,但是不包含列名
write.xlsx(data,Outfilename,sheetName=“Sheet1”, col.names=TRUE, row.names=TRUE , append=FALSE, showNA=TRUE):將數據保存爲excel格式,中文可直接保存
3、保存R格式文件:
save(data,file=“d:/data/salary1.Rdata”)
dim():求維度
dim()[1]:行數
dim()[2]:列數
mode() 用來顯示對象的類型
names():顯示對象中的標籤
如何理解不同類型的合併
merge() 函數支持4種類型數據合併:
Natural join: 僅返回兩數據框中匹配的數據框行,參數爲:all=FALSE.
Full outer join: 返回兩數據框中所有行, 參數爲: all=TRUE.
Left outer join: 返回x數據框中所有行以及和y數據框中匹配的行,參數爲: all.x=TRUE.
Right outer join: 返回y數據框中所有行以及和x數據框匹配的行,參數爲: all.y=TRUE.