如何使用r
『壹』 如何在雲計算平台使用R語言編程的快速入門指南
雲計算正逐步成為適用於超出筆記本或台式機處理能力的問題或數據的一種自然延伸。然而,對於完全沒有基礎的初學者來說,學習使用雲計算平台會顯得比實際更難。
我們用信息圖的方式向大家介紹雲計算的概念,它的重要性以及使用R語言和R studio的基本設置等幾部分內容。由於本文只是一篇快速學習攻略,你可能會遺漏一些概念方面的詳細解釋。但是不用擔心,你還可以參考另外一篇完整版攻略「如何在雲端進行R語言編程?」
什麼是雲計算?
簡單來說,雲計算就是一種遠端存儲數據和應用程序,並可以通過互聯網獲取這些文件的模式。
雲計算的三個組成部分:
1.基礎設施服務
2.平台服務
3.軟體服務
計算的前景如何?
基於其可以將數據上傳到雲端並可以在任何時間、任何地點以及通過任何設備隨時獲取數據的方便性,雲計算的前景一片光明。
第二排柱狀圖顯示,雲計算的計算量正在逐年增長。
2016年預計軟體服務(SaaS)收入一千零六十億美金, 預計2018年企業注冊使用雲計算收入六百七十億美金。
至2018年,預計在基礎設施方面有30%的增長,80%企業將使用雲計算。
雲計算全球市場規模預計將從2013年的580億美金,增長至2020年的1910億美金。
使用雲計算的好處?
1.節約成本;
2.使用便捷;
3.擴展性強;
4.易於監控。
如何在雲端使用R語言編程?
1.登陸亞馬遜雲計算平台的控制界面
2.點擊運行實例(Run Instance)
3.選擇你即將遠程訪問的虛擬機的操作系統,這里我們選擇了亞馬遜Linux(Amazon Linux)
4.選擇實例類型(需要選擇內存大小),同時比較不同的價格
『貳』 如何正確使用R鍵
1。如果被人擠掉了,掉下去瞬間按R會回原位可以節省掉下去的時間。 2。你手裡有攻擊道具,但是因為距離原因不能用的時候,按R拉開距離馬上用道具(水泡)。如果你手裡有蚊子和炸彈敵人在後面一點也按R讓他跑前面用道具。 3。在捷徑或者比較窄的地方,為了阻止對手趕上我們的,第一用R鍵你會出現在中央擋住對手。 4。當自己用自暴後後方對手減速等自暴省下一秒的時候R,自暴時間是3.5秒
求採納
『叄』 如何使用R語言進行交互數據可視化
說起R語言的交互包,第一個想到的應該就是rCharts包。該包直接在R中生成基於D3的Web界面。
rCharts包的安裝
require(devtools)
install_github('rCharts', 'ramnathv')
rCharts函數就像lattice函數一樣,通過formula、data指定數據源和繪圖方式,並通過type指定圖表類型。
下面通過例子來了解下其工作原理。我們以鳶尾花數據集為例,首先通過name函數對列名進行重新賦值(去掉單詞間的點),然後利用rPlot函數繪制散點圖(type=」point」),並利用顏色進行分組(color=」Species」)。
library(rCharts)
names(iris) = gsub("\\.", "", names(iris))
p1 <- rPlot(SepalLength ~ SepalWidth | Species, data = iris, color = 'Species', type = 'point')
p1
rCharts支持多個javascript圖表庫,每個都有自己的長處。每一個圖表庫有多個定製選項,其中大部分rCharts都支持。
NVD3 是一個旨在建立可復用的圖表和組件的 d3.js 項目——它提供了同樣強大的功能,但更容易使用。它可以讓我們處理復雜的數據集來創建更高級的可視化。在rCharts包中提供了nPlot函數來實現。
下面以眼睛和頭發顏色的數據(HairEyeColor)為例說明nPlot繪圖的基本原理。我們按照眼睛的顏色進行分組(group=」eye」),對頭發顏色人數繪制柱狀圖,並將類型設置為柱狀圖組合方式(type=」multiBarChart」),這樣可以實現分組和疊加效果。
library(rCharts)
hair_eye_male <- subset(as.data.frame(HairEyeColor), Sex == "Male")
hair_eye_male[,1] <- paste0("Hair",hair_eye_male[,1])
hair_eye_male[,2] <- paste0("Eye",hair_eye_male[,2])
n1 <- nPlot(Freq ~ Hair, group = "Eye", data = hair_eye_male,
type = "multiBarChart")
n1
可以通過圖形右上角選擇需要查看或隱藏的類別(默認是全部類別顯示的),也能通過左上角選擇柱子是按照分組還是疊加的方式進行擺放(默認是分組方式)。如果選擇Stacked,就會繪制疊加柱狀圖。
『肆』 如何利用R軟體繪制箱線圖
方法/步驟
打開r軟體,輸入數據集。這里以一個班級的學生成績為例來介紹箱線圖的使用方法。
輸入繪制箱線圖命令boxplot(class1),運行命令,得到一班學生成績箱線圖。箱線圖箱體中間的粗黑線表示中位數所在位置,可以看到本例的平均值大約在80分。最下面的圈號表示異常點。本例的異常值為25。
一個圖表中可以繪制多個系列的箱線圖,便於比較。這里添加另外一個班級的成績,進行比較。
輸入繪制箱線圖的代碼:
boxplot(class1,class2,names=c('一班','二班'),col=c("green","red"))
其中names表示為兩個系列命名。col為顏色取值。
運行代碼,得到連個箱線圖。從圖中可以明顯看到兩個班級的成績分布情況。二班的成績比較集中,一班的差異比較大。二班的平均分要高於一班。完成。
提示:箱線圖還有很多參數可供我們繪圖時使用。可以運行命令help(boxplot)了解更多內容。
『伍』 如何利用R軟體繪制散點圖
首先,下載並安裝好R軟體。打開R軟體,可以看到R軟體主窗口。
為了方便編輯代碼,一般不在主窗口直接輸入程序。我們可以點擊「文件——新建程序腳本」,出現R編輯器。我們將在此輸入需要運行的命令。
使用因子格式輸入數據。這里輸入兩組數據,以便後面說明詳細使用方法。
輸入命令plot(x),表示繪制序列x的散點圖。選中程序,右鍵,點擊「運行當前行或選中代碼」,運行程序。按F5鍵或者Ctrl+R鍵也可以實現。在圖標顯示框出現散點圖了。
輸入命令plot(x,y),其中x表示自變數,y是因變數,生成y關於x的散點圖。運行命令,即出現散點圖。
再增加一組數據,用coplot函數繪制多變數的散點圖。coplot(x~m|y)表示在不同的y值下,x關於m的散點圖。
7
更多可以查閱相關資料,繪制更美觀的散點圖。
『陸』 怎麼學慣用 R 語言進行數據挖掘
什麼是R語言?應該如何開始學習/使用R語言呢?
學習R有幾個月了,總算是摸著了一點門道。
寫一些自己的心得和經驗,方便自己進一步鼓搗R。如果有人看到我寫的東西而得到了幫助,那就更好了。
什麼是R?R的優點何在?
R是一個數據分析軟體。簡單點說,R可以看做MATLAB的「替代品」,而且具有免費開源的優勢。R可以像MATLAB一樣解決有關數值計算的問題,而且具有強大的數據處理,繪圖功能。
R擁有大量的統計分析工具包,我的感覺是——只有我們沒聽說過的工具,絕對沒有R沒有的工具包。配合著各種各樣的工具包,你可以毀滅任何關於數據和統計的問題。因為數據包的數量龐大,所以查找自己需要的數據包,可能很煩惱。
如果有以下技能,學R會很方便:
1.已經了解些高級程序語言(非常重要)
2.英語不壞
3.概率統計理論基礎
4.看數據不頭疼
5.看cmd or terminal 也不頭疼
你需要一本適合你的R語言教材
我開始學習R的時候,找到了這個帖子
非常強大的關於R語言教材綜述。我非常感謝原帖作者。你可以參考這個帖子選一本適合你的教材。
我這里在說一下我主要使用的幾本教材的心得:
1. 統計建模與R軟體(薛毅著):非常優秀的R語言入門教材,涵蓋了所有R的基礎應用&方法,示例代碼也很優秀。作為一本中文的程序語言教材,絕對是最優秀的之一。但是要看懂這本書,還是需要「已經了解些高級程序語言」。PS:我親愛的吉林大學圖書館,有兩本該教材流通,我常年霸佔一本。
2. R in Nutshell:從講解內容上看,與上一本差別不大,在R語言的應用上都是比較初級的入門,但是有些R軟體&語言上的特性,寫得比薛毅老師的教材深刻。這本書最大的優點就是工具書,方便開始入門時候,對有些「模稜兩可」的東西的查詢。PS:我將這本書列印了出來,簡單的從頭到尾翻過,最大的用途就是像一本字典一樣查詢。
3. ggplot2 Elegant Graphics for Data:這是一本介紹如何使用ggplot2包,進行繪圖的書。ggplot2包,非常強大的繪圖工具,幾乎可以操作任何圖中的元素,而且是提供添加圖層的方式讓我們可以一步步的作圖。提到ggplot2包,應該提到一個詞——「潛力無窮」,每一個介紹
ggplot2的人,都會用這個形容詞。這本書最大的作用也是當做一本繪圖相關的工具書,書中講解詳細,細致,每個小參數的變動都會配圖幫你理解。PS:這本書我也列印出來了,非常適合查詢。
幾個可以逐步提高R能力的網站
1.R-bloggers: 這里有關於R和數據的一切討論,前沿的問題,基礎的問題,應有盡有。可以說這些傢伙們讓R變得越來越強大。我RSS了這個網站,每天都看一下有什麼我感興趣的方法和話題,慢慢的積累一些知識,是一個很有意思的過程。
2.統計之都: 這是一個有大量R使用者交流的論壇,你可以上去提問題,總有好心人來幫助你的。
3.R客: 是關於R的一個博客,更新不快,偏重國內R的一些發展。
R的使用環境
如果你看見terminal or cmd就打怵的話,一定要使用Rstudio。Rstudio的優點是,集成了Rconsole、腳本編輯器、可視化的數據查詢、歷史命令、幫助查詢等,還有的完美的腳本和console的互動。畢竟是可視化的界面,有許多按鈕可以用。R 的腳本編輯器很蛋疼,就比記事本多了個顏色高亮吧,不適合編寫腳本,但適合調試腳本。
最後,說一下,剛開始學習R或者其他什麼語言,都有一個通病,就是一些小細節的不知道,或者是記得不清楚,往往一個蛋疼的bug就可以耗掉大量的時間,這是一個讓人想砸電腦的過程。我往後,會在博客里記錄一些讓我蛋很疼的小細節。本文分為6個部分,分別介紹初級入門,高級入門,繪圖與可視化,計量經濟學,時間序列分析,金融等。
1.初級入門
《An Introction to R》,這是官方的入門小冊子。其有中文版,由丁國徽翻譯,譯名為《R導論》。《R4Beginners》,這本小冊子有中文版應該叫《R入門》。除此之外,還可以去讀劉思喆的《153分鍾學會R》。這本書收集了R初學者提問頻率最高的153個問題。為什麼叫153分鍾呢?因為最初作者寫了153個問題,閱讀一個問題花費1分鍾時間,全局下來也就是153分鍾了。有了這些基礎之後,要去讀一些經典書籍比較全面的入門書籍,比如《統計建模與R軟體》,國外還有《R Cookbook》和《R in action》,本人沒有看過,因此不便評論。
最後推薦,《R in a Nutshell》。對,「果殼裡面的R」!當然,是開玩笑的,in a Nutshell是俚語,意思大致是「簡單的說」。目前,我們正在翻譯這本書的中文版,大概明年三月份交稿!這本書很不錯,大家可以從現在開始期待,並廣而告知一下!
2.高級入門
讀了上述書籍之後,你就可以去高級入門階段了。這時候要讀的書有兩本很經典的。《Statistics with R》和《The R book》。之所以說這兩本書高級,是因為這兩本書已經不再限於R基礎了,而是結合了數據分析的各種常見方法來寫就的,比較系統的介紹了R在線性回歸、方差分析、多元統計、R繪圖、時間序列分析、數據挖掘等各方面的內容,看完之後你會發現,哇,原來R能做的事情這么多,而且做起來是那麼簡潔。讀到這里已經差不多了,剩下的估計就是你要專門攻讀的某個方面內容了。下面大致說一說。
3.繪圖與可視化
亞里斯多德說,「較其他感覺而言,人類更喜歡觀看」。因此,繪圖和可視化得到很多人的關注和重視。那麼,如何學習R畫圖和數據可視化呢?再簡單些,如何畫直方圖?如何往直方圖上添加密度曲線呢?我想讀完下面這幾本書你就大致會明白了。
首先,畫圖入門可以讀《R Graphics》,個人認為這本是比較經典的,全面介紹了R中繪圖系統。該書對應的有一個網站,google之就可以了。更深入的可以讀《Lattice:Multivariate Data Visualization with R》。上面這些都是比較普通的。當然,有比較文藝和優雅的——ggplot2系統,看《ggplot2:Elegant Graphics for Data Analysis》。還有數據挖掘方面的書:《Data Mining with Rattle and R》,主要是用Rattle軟體,個人比較喜歡Rattle!當然,Rattle不是最好的,Rweka也很棒!再有就是交互圖形的書了,著名的交互系統是ggobi,這個我已經喜歡兩年多了,關於ggobi的書有《Interactive and Dynamic Graphics for Data Analysis With R and GGobi》,不過,也只是適宜入門,更多更全面的還是去ggobi的主頁吧,上面有各種資料以及包的更新信息!
特別推薦一下,中文版繪圖書籍有《現代統計圖形》。
4.計量經濟學
關於計量經濟學,首先推薦一本很薄的小冊子:《Econometrics In R》,做入門用。然後,是《Applied Econometrics with R》,該書對應的R包是AER,可以安裝之後配合使用,效果甚佳。計量經濟學中很大一部分是關於時間序列分析的,這一塊內容在下面的地方說。
5.時間序列分析
時間序列書籍的書籍分兩類,一種是比較普適的書籍,典型的代表是:《Time Series Analysis and Its Applications :with R examples》。該書介紹了各種時間序列分析的經典方法及實現各種經典方法的R代碼,該書有中文版。如果不想買的話,建議去作者主頁直接下載,英文版其實讀起來很簡單。時間序列分析中有一大塊兒是關於金融時間序列分析的。這方面比較流行的書有兩本《Analysis of financial time series》,這本書的最初是用的S-plus代碼,不過新版已經以R代碼為主了。這本書適合有時間序列分析基礎和金融基礎的人來看,因為書中關於時間序列分析的理論以及各種金融知識講解的不是特別清楚,將極值理論計算VaR的部分就比較難看懂。另外一個比較有意思的是Rmetrics推出的《TimeSeriesFAQ》,這本書是金融時間序列入門的東西,講的很基礎,但是很難懂。對應的中文版有《金融時間序列分析常見問題集》,當然,目前還沒有發出來。經濟領域的時間序列有一種特殊的情況叫協整,很多人很關注這方面的理論,關心這個的可以看《Analysis of Integrated and Cointegrated Time Series with R》。最後,比較高級的一本書是關於小波分析的,看《Wavelet Methods in Statistics with R》。附加一點,關於時間序列聚類的書籍目前比較少見,是一個處女地,有志之士可以開墾之!
6.金融
金融的領域很廣泛,如果是大金融的話,保險也要被納入此間。用R做金融更多地需要掌握的是金融知識,只會數據分析技術意義寥寥。我覺得這些書對於懂金融、不同數據分析技術的人比較有用,只懂數據分析技術而不動金融知識的人看起來肯定如霧里看花,甚至有人會覺得金融分析比較低級。這方面比較經典的書籍有:《Advanced Topics in Analysis of Economic and Financial Data Using R》以及《Modelling Financial Time Series With S-plus》。金融產品定價之類的常常要用到隨機微分方程,有一本叫《Simulation Inference Stochastic Differential Equations:with R examples》的書是關於這方面的內容的,有實例,內容還算詳實!此外,是風險度量與管理類。比較經典的有《Simulation Techniques in Financial Risk Management》、《Modern Actuarial Risk Theory Using R》和《Quantitative Risk Management:Concepts, Techniques and Tools》。投資組合分析類和期權定價類可以分別看《Portfolio Optimization with R》和《Option Pricing and Estimation of Financial Models with R》。
7.數據挖掘
這方面的書不多,只有《Data Mining with R:learing with case studies》。不過,R中數據挖掘方面的包已經足夠多了,參考包中的幫助文檔就足夠了。
『柒』 如何開始學習/使用R語言
R是一種專業性很強的統計語言,如果想學得快一些的話,基本的統計學知識要懂,不然很多東西會掌握的比較慢。 掌握基本語法和操作,推薦國內的已經翻譯的比如《R語言實戰》《R語言編程藝術》,這個過程中最好結合一些小例子來做一些分析的東西。
『捌』 如何用R讀取數據
在R語言裡面,有很多讀取數據的方法。R能讀文本文件,csv格式文件,通過RODBC包讀取資料庫數據等等。下面我介紹幾種最基本的讀取數據的方法!
工具/原料
RStudio
方法
不管是讀取數據還是寫入,R都是在工作路徑中完成的。所以首先我們要知道我們的R所在的工作路徑是在哪裡。使用getwd()函數來獲取我們的工作路徑。
下面查看工作路徑裡面有哪些文件,使用dir()函數
如果你所想導入的數據並不在你當前的工作路徑中,有兩種方法可以解決。第一種就是把數據文件放到工作路徑中,第二種方法就是更改工作路徑。更改工作路徑使用setwd()函數。比如你想要把工作路徑設置成桌面
現在我讀取我工作路徑中,名字為hw1_data.csv的文件。使用read.csv()函數
也可以使用read.table()函數來讀取csv格式的文件。由於csv文件的分隔符是「,」所以我們在用read.table()函數的時候,sep參數,我們要設定為sep=「,」
發現read.table()讀出來的數據,列名並不是我們文件中的列名,而是V1,V2。。。我們需要加上header這個參數來修改這個問題
另外在read.table()函數族中還有很多參數,對我們讀取數據都有幫助,大家可以去了解下。使用?read.table()進行了解
『玖』 如何使用R來連接各個資料庫
(1)連接MySQL資料庫
首先要下載載入RMySQL這個包。
載入的時候可以使用
[plain] view plain
require(RMySQL)
或者
[plain] view plain
library(RMySQL)
這兩個語句的功能是一樣的。
現在是建立連接:
[plain] view plain
con<-dbConnect(MySQL(),host='localhost',port=3306,dbname="XXX",user="root",password="XXXXX")
這里連接的是本地資料庫,host=『localhost』,也可以寫成host='127.0.0.1',port為埠,如果不知道的話可以在mysql控制台輸入 status來查看資料庫的當前配置。其中就包括埠。user為用戶名,一般為root,password是你的資料庫的密碼。
若資料庫中的信息是中文,我們就要修改此連接的編碼,否則就會出現亂碼。
[plain] view plain
dbSendQuery(con,"set character_set_result=gbk")
dbSendQuery(con,"set character_set_connection=gbk")
dbSendQuery(con,"set character_set_database=gbk")
dbSendQuery(con,"set character_set_client=gbk")
這樣就搞定了,R已經連接到我們自己的MySQL資料庫了。
『拾』 如何在linux環境下使用r語言
1、下載
wget http://mirror.bjtu.e.cn/cran/src/base/R-3/R-3.0.1.tar.gz
2、解壓:
tar -zxvf
R-3.0.1.tar.gz
cd R-3.0.1
3、安裝 (當然也可以跳過)
yum
install readline-devel
yum install libXt-devel
./configure
4、 配置環境並編譯安裝
#
如果使用rJava需要加上 --enable-R-shlib
(這個我不需要,所以加入到後面)
# 如果3沒安裝, 那麼後面加上: --with-readline=no
--with-x=no
./configure --prefix=/usr/R-3.0.1
make $$ make install
5、配置環境變數並生效
vi
.bash_profile
export R_HOME=/usr/R-3.0.1
export PATH=.:$R_HOME/bin:$PATH
# 試環境變數生效
source .bash_profile
6、 命令行測試
[admin@JD
software]$ R
WARNING: ignoring environment value of R_HOME
R version 3.0.1 (2013-05-16) -- "Good Sport"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-unknown-linux-gnu (64-bit)
R是自由軟體,不帶任何擔保。
在某些條件下你可以將其自由散布。
用'license()'或'licence()'來看散布的詳細條件。
R是個合作計劃,有許多人為之做出了貢獻.
用'contributors()'來看合作者的詳細情況
用'citation()'會告訴你如何在出版物中正確地引用R或R程序包。
用'demo()'來看一些示範程序,用'help()'來閱讀在線幫助文件,或
用'help.start()'通過HTML瀏覽器來看幫助文件。
用'q()'退出R.
> q()
7、創建腳本測試(t.R)
cd
/opt/script/R
vim t.R
#!/path/to/Rscript
#第一行
x<-c(1,2,3)
#R語言代碼
y<-c(102,299,301)
model<-lm(y~x)
summary(model)
8、測試:執行腳本
R CMD BATCH
--args /opt/script/R/t.R
more
/opt/script/R/t.Rout
#查看執行的結果
或者第二種方式
Rscript
/opt/script/R/test.R
#結果直接輸出到終端