R語(yǔ)言簡(jiǎn)介和基本操作

課程簡(jiǎn)介

  • 大數(shù)據(jù)背景介紹;
  • R語(yǔ)言和Python語(yǔ)言在數(shù)據(jù)分析中的地位;
  • 以R語(yǔ)言為藍(lán)本講解數(shù)據(jù)分析的基本步驟和技巧;

為何選擇R

R語(yǔ)言作為統(tǒng)計(jì)學(xué)一門(mén)語(yǔ)言,一直在小眾領(lǐng)域閃耀著光芒。直到大數(shù)據(jù)的爆發(fā),R語(yǔ)言變成了一門(mén)炙手可熱的數(shù)據(jù)分析的利器。隨著越來(lái)越多的工程背景的人的加入,R語(yǔ)言的社區(qū)在迅速擴(kuò)大成長(zhǎng)?,F(xiàn)在已不僅僅是統(tǒng)計(jì)領(lǐng)域,教育,銀行,電商,互聯(lián)網(wǎng)….都在使用R語(yǔ)言。

與起源于貝爾實(shí)驗(yàn)室的S語(yǔ)言類(lèi)似,R也是一種為統(tǒng)計(jì)計(jì)算和繪圖而生的語(yǔ)言和環(huán)境,它是一套開(kāi)源的數(shù)據(jù)分析解決方案,由一個(gè)龐大且活躍的全球性研究型社區(qū)維護(hù)。但是,市面上也有許多其他流行的統(tǒng)計(jì)和制圖軟件,如Microsoft Excel、SAS、IBM SPSS、Stata以及Minitab。為何偏偏要選擇R?

R有著非常多值得推薦的特性。

  • 多數(shù)商業(yè)統(tǒng)計(jì)軟件價(jià)格不菲,投入成千上萬(wàn)美元都是可能的。而R是免費(fèi)的!如果你是一位教師或一名學(xué)生,好處顯而易見(jiàn)。
  • R是一個(gè)全面的統(tǒng)計(jì)研究平臺(tái),提供了各式各樣的數(shù)據(jù)分析技術(shù)。幾乎任何類(lèi)型的數(shù)據(jù)分析工作皆可在R中完成。
  • R囊括了在其他軟件中尚不可用的、先進(jìn)的統(tǒng)計(jì)計(jì)算例程。事實(shí)上,新方法的更新速度是以周來(lái)計(jì)算的。
  • R擁有頂尖水準(zhǔn)的制圖功能。如果希望復(fù)雜數(shù)據(jù)可視化,那么R擁有最全面且最強(qiáng)大的一系列可用功能。
  • R是一個(gè)可進(jìn)行交互式數(shù)據(jù)分析和探索的強(qiáng)大平臺(tái)。
  • 從多個(gè)數(shù)據(jù)源獲取并將數(shù)據(jù)轉(zhuǎn)化為可用的形式,可能是一個(gè)富有挑戰(zhàn)性的議題。R可以輕松地從各種類(lèi)型的數(shù)據(jù)源導(dǎo)入數(shù)據(jù),包括文本文件、數(shù)據(jù)庫(kù)管理系統(tǒng)、統(tǒng)計(jì)軟件,乃至專(zhuān)門(mén)的數(shù)據(jù)倉(cāng)庫(kù)。它同樣可以將數(shù)據(jù)輸出并寫(xiě)入到這些系統(tǒng)中。R也可以直接從網(wǎng)頁(yè)、社交媒體網(wǎng)站和各種類(lèi)型的在線(xiàn)數(shù)據(jù)服務(wù)中獲取數(shù)據(jù)。
  • R是一個(gè)無(wú)與倫比的平臺(tái),在其上可使用一種簡(jiǎn)單而直接的方式編寫(xiě)新的統(tǒng)計(jì)方法。它易于擴(kuò)展,并為快速編程實(shí)現(xiàn)新方法提供了一套十分自然的語(yǔ)言。
  • R的功能可以被整合進(jìn)其他語(yǔ)言編寫(xiě)的應(yīng)用程序,包括C++、Java、Python、PHP、Pentaho、SAS和SPSS。這讓你在繼續(xù)使用自己熟悉語(yǔ)言的同時(shí)在應(yīng)用程序中加入R的功能。
  • R可運(yùn)行于多種平臺(tái)之上,包括Windows、UNIX和Mac OS X。這基本上意味著它可以運(yùn)行于你所能擁有的任何計(jì)算機(jī)上。
  • 如果你不想學(xué)習(xí)一門(mén)新的語(yǔ)言,有各式各樣的GUI(Graphical User Interface,圖形用戶(hù)界面)工具通過(guò)菜單和對(duì)話(huà)框提供了與R語(yǔ)言同等的功能。

R可以做什么

R應(yīng)用最熱門(mén)的領(lǐng)域:

  • 統(tǒng)計(jì)分析:包括統(tǒng)計(jì)分布,假設(shè)檢驗(yàn),統(tǒng)計(jì)建模
  • 金融分析:量化策略,投資組合,風(fēng)險(xiǎn)控制,時(shí)間序列,波動(dòng)率
  • 數(shù)據(jù)挖掘:數(shù)據(jù)挖掘算法,數(shù)據(jù)建模,機(jī)器學(xué)習(xí)
  • 互聯(lián)網(wǎng):推薦系統(tǒng),消費(fèi)預(yù)測(cè),社交網(wǎng)絡(luò)
  • 生物信息學(xué):DNA分析,物種分析
  • 生物制藥:生存分析,制藥過(guò)程管理
  • 全球地理科學(xué):天氣,氣候,遙感數(shù)據(jù)
  • 數(shù)據(jù)可視化:靜態(tài)圖,可交互的動(dòng)態(tài)圖,社交圖,地圖,熱圖,與各種Javascript庫(kù)的集成。

R語(yǔ)言的知識(shí)體系

![Uploading unnamed-chunk-1-1_690359.png . . .]

R語(yǔ)言知識(shí)體系結(jié)構(gòu)分為3個(gè)部分:IT技術(shù) + 業(yè)務(wù)知識(shí) + 基礎(chǔ)學(xué)科。

  • IT技術(shù):是計(jì)算時(shí)代必備的技術(shù)之一,R語(yǔ)言就是一種我們應(yīng)該要掌握技術(shù)。
  • 業(yè)務(wù)知識(shí):是市場(chǎng)經(jīng)驗(yàn)和法則,不管你在什么公司,都會(huì)有自己的產(chǎn)品、銷(xiāo)售、市場(chǎng)等,你要了解你的公司產(chǎn)品有什么,客戶(hù)是誰(shuí),怎么才能把產(chǎn)品賣(mài)給你的客戶(hù)。
  • 基礎(chǔ)學(xué)科:是我們這十幾年在學(xué)校學(xué)的理論知識(shí),當(dāng)初學(xué)的時(shí)候并不知道是為了什么,畢業(yè)后如果你還能掌握一些知識(shí)并實(shí)際運(yùn)用,那么這將是你最有價(jià)值的競(jìng)爭(zhēng)力。

每個(gè)部分知識(shí)單獨(dú)看都有其局限性,但如果能把知識(shí)兩兩結(jié)合起來(lái),就構(gòu)成了我們現(xiàn)在社會(huì)的各種技術(shù)創(chuàng)新點(diǎn)。

  • IT技術(shù)+業(yè)務(wù)知識(shí):創(chuàng)造了阿里巴巴的電子商務(wù)帝國(guó),騰訊全生態(tài)鏈的社交網(wǎng)絡(luò)。
  • IT技術(shù)+基礎(chǔ)學(xué)科:創(chuàng)造了Google搜索的神話(huà),華爾街金融不敗的帝國(guó)。

R語(yǔ)言中文社區(qū)

  • 統(tǒng)計(jì)之都,中國(guó)大陸最權(quán)威的R語(yǔ)言組織,不僅積累了大量高質(zhì)量的R語(yǔ)言文章,并主辦了七屆中國(guó)R語(yǔ)言會(huì)議。統(tǒng)計(jì)之都團(tuán)隊(duì)成員,還參與翻譯了《R語(yǔ)言編程藝術(shù)》、《R語(yǔ)言實(shí)戰(zhàn)》、《ggplot2:數(shù)據(jù)分析與圖形藝術(shù)》、《R語(yǔ)言核心技術(shù)手冊(cè)(第2版)》、《R數(shù)據(jù)可視化手冊(cè)》、《R語(yǔ)言統(tǒng)計(jì)入門(mén)(第2版)》等多本圖書(shū)。
  • 煉數(shù)成金論壇,以數(shù)據(jù)分析為主題,設(shè)有R語(yǔ)言板塊,提供在線(xiàn)的R語(yǔ)言入門(mén)培訓(xùn)。
  • 人大經(jīng)濟(jì)論壇,以經(jīng)管教育為主題,設(shè)有R語(yǔ)言板塊,以線(xiàn)下培訓(xùn)為主。

開(kāi)發(fā)環(huán)境安裝

  • 安裝R;
  • 安裝RStudio(方便地進(jìn)行編程,豐富的提示功能,RNoteBook的強(qiáng)大);
  • 設(shè)置CRAN的鏡像為國(guó)內(nèi)網(wǎng)站(安裝包的時(shí)候網(wǎng)速快);
  • 創(chuàng)建一個(gè)RNotebook文件,按提示安裝相應(yīng)的包;
  • 安裝常用的包:swirl、ggplot2、xlsx、dplyr、stringr等。

R的使用

  • 賦值:<-;例如:x <- 5
  • 注釋?zhuān)?;例如:#這是一行注釋
  • 一個(gè)非常好的在線(xiàn)學(xué)習(xí)環(huán)境:swirl包

新手上路

讓我們通過(guò)一個(gè)簡(jiǎn)單的虛構(gòu)示例來(lái)直觀地感受一下這個(gè)界面。假設(shè)我們正在研究生理發(fā)育問(wèn)題,并收集了10名嬰兒在出生后一年內(nèi)的月齡和體重?cái)?shù)據(jù)。我們感興趣的是體重的分布及體重和月齡的關(guān)系。

10名嬰兒的月齡和體重

年齡(月) 體重(kg) 年齡(月) 體重(kg)
01 4.4 09 7.3
03 5.3 03 6.0
05 7.2 09 10.4
02 5.2 12 10.2
11 8.5 03 6.1

可以使用函數(shù) c() 以向量的形式輸入月齡和體重?cái)?shù)據(jù),此函數(shù)可將其參數(shù)組合成一個(gè)向量或列表。然后用 mean() 、 sd() 和 cor() 函數(shù)分別獲得體重的均值和標(biāo)準(zhǔn)差,以及月齡和體重的相關(guān)度。最后使用 plot() 函數(shù),從而用圖形展示月齡和體重的關(guān)系,這樣就可以用可視化的方式檢查其中可能存在的趨勢(shì)。函數(shù) q() 將結(jié)束會(huì)話(huà)并允許你退出R。

#第一個(gè)實(shí)例:嬰兒體重和月齡的關(guān)系
age <- c(1,3,5,2,11,9,3,9,12,3)
weight <- c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1)
mean(weight)
## [1] 7.06
sd(weight)
## [1] 2.077498
cor(age,weight)
## [1] 0.9075655
plot(age,weight)
unnamed-chunk-1-1.png
# q()

從代碼清單和結(jié)果中可以看到,這10名嬰兒的平均體重是7.06kg,標(biāo)準(zhǔn)差為2.08kg,月齡和體重之間存在較強(qiáng)的線(xiàn)性關(guān)系(相關(guān)度=0.91)。這種關(guān)系也可以從圖散點(diǎn)圖中看到。不出意料,隨著月齡的增長(zhǎng),嬰兒的體重也趨于增加。

若想大致了解R能夠作出何種圖形,在命令行中運(yùn)行 demo() 即可。其他的演示還有 demo(Hershey) 、 demo(persp) 和 demo(image)。要看到完整的演示列表,不加參數(shù)直接運(yùn)行 demo() 即可。

#這里以三維圖形為例
demo(persp)
## 
## 
##  demo(persp)
##  ---- ~~~~~
## 
## > ### Demos for  persp()  plots   -- things not in  example(persp)
## > ### -------------------------
## > 
## > require(datasets)
## 
## > require(grDevices); require(graphics)
## 
## > ## (1) The Obligatory Mathematical surface.
## > ##     Rotated sinc function.
## > 
## > x <- seq(-10, 10, length.out = 50)
## 
## > y <- x
## 
## > rotsinc <- function(x,y)
## + {
## +     sinc <- function(x) { y <- sin(x)/x ; y[is.na(y)] <- 1; y }
## +     10 * sinc( sqrt(x^2+y^2) )
## + }
## 
## > sinc.exp <- expression(z == Sinc(sqrt(x^2 + y^2)))
## 
## > z <- outer(x, y, rotsinc)
## 
## > oldpar <- par(bg = "white")
## 
## > persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue")
unnamed-chunk-2-1.png
## 
## > title(sub=".")## work around persp+plotmath bug
## 
## > title(main = sinc.exp)
## 
## > persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue",
## +       ltheta = 120, shade = 0.75, ticktype = "detailed",
## +       xlab = "X", ylab = "Y", zlab = "Z")
unnamed-chunk-2-2.png
## 
## > title(sub=".")## work around persp+plotmath bug
## 
## > title(main = sinc.exp)
## 
## > ## (2) Visualizing a simple DEM model
## > 
## > z <- 2 * volcano        # Exaggerate the relief
## 
## > x <- 10 * (1:nrow(z))   # 10 meter spacing (S to N)
## 
## > y <- 10 * (1:ncol(z))   # 10 meter spacing (E to W)
## 
## > persp(x, y, z, theta = 120, phi = 15, scale = FALSE, axes = FALSE)
unnamed-chunk-2-3.png
## 
## > ## (3) Now something more complex
## > ##     We border the surface, to make it more "slice like"
## > ##     and color the top and sides of the surface differently.
## > 
## > z0 <- min(z) - 20
## 
## > z <- rbind(z0, cbind(z0, z, z0), z0)
## 
## > x <- c(min(x) - 1e-10, x, max(x) + 1e-10)
## 
## > y <- c(min(y) - 1e-10, y, max(y) + 1e-10)
## 
## > fill <- matrix("green3", nrow = nrow(z)-1, ncol = ncol(z)-1)
## 
## > fill[ , i2 <- c(1,ncol(fill))] <- "gray"
## 
## > fill[i1 <- c(1,nrow(fill)) , ] <- "gray"
## 
## > par(bg = "lightblue")
## 
## > persp(x, y, z, theta = 120, phi = 15, col = fill, scale = FALSE, axes = FALSE)
unnamed-chunk-2-4.png
## 
## > title(main = "Maunga Whau\nOne of 50 Volcanoes in the Auckland Region.",
## +       font.main = 4)
## 
## > par(bg = "slategray")
## 
## > persp(x, y, z, theta = 135, phi = 30, col = fill, scale = FALSE,
## +       ltheta = -120, lphi = 15, shade = 0.65, axes = FALSE)
unnamed-chunk-2-5.png
## 
## > ## Don't draw the grid lines :  border = NA
## > persp(x, y, z, theta = 135, phi = 30, col = "green3", scale = FALSE,
## +       ltheta = -120, shade = 0.75, border = NA, box = FALSE)
unnamed-chunk-2-6.png
## 
## > ## `color gradient in the soil' :
## > fcol <- fill ; fcol[] <- terrain.colors(nrow(fcol))
## 
## > persp(x, y, z, theta = 135, phi = 30, col = fcol, scale = FALSE,
## +       ltheta = -120, shade = 0.3, border = NA, box = FALSE)
unnamed-chunk-2-7.png
## 
## > ## `image like' colors on top :
## > fcol <- fill
## 
## > zi <- volcano[ -1,-1] + volcano[ -1,-61] +
## +            volcano[-87,-1] + volcano[-87,-61]  ## / 4
## 
## > fcol[-i1,-i2] <-
## +     terrain.colors(20)[cut(zi,
## +                            stats::quantile(zi, seq(0,1, length.out = 21)),
## +                            include.lowest = TRUE)]
## 
## > persp(x, y, 2*z, theta = 110, phi = 40, col = fcol, scale = FALSE,
## +       ltheta = -120, shade = 0.4, border = NA, box = FALSE)
unnamed-chunk-2-8.png
## 
## > ## reset par():
## > par(oldpar)

獲取幫助

R中的幫助函數(shù):

函數(shù) 功能
help.start() 打開(kāi)幫助文檔首頁(yè)
help("foo") 或 ?foo 查看函數(shù) foo 的幫助(引號(hào)可以省略)
help.search("foo") 或 ??foo 以 foo 為關(guān)鍵詞搜索本地幫助文檔
example("foo") 函數(shù) foo 的使用示例(引號(hào)可以省略)
RSiteSearch("foo") 以 foo 為關(guān)鍵詞搜索在線(xiàn)文檔和郵件列表存檔
apropos("foo", mode="function") 列出名稱(chēng)中含有 foo 的所有可用函數(shù)
data() 列出當(dāng)前已加載包中所含的所有可用示例數(shù)據(jù)集
vignette() 列出當(dāng)前已安裝包中所有可用的 vignette 文檔
vignette("foo") 為主題 foo 顯示指定的 vignette 文檔

函數(shù) help.start() 會(huì)打開(kāi)一個(gè)瀏覽器窗口,我們可在其中查看入門(mén)和高級(jí)的幫助手冊(cè)、常見(jiàn)問(wèn)題集,以及參考材料。

#R語(yǔ)言的幫助
#? seq
#help("seq") #同上
#help.search("mean") #可以使用類(lèi)似于百度搜索的關(guān)鍵字
example("seq")
## 
## seq> seq(0, 1, length.out = 11)
##  [1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
## 
## seq> seq(stats::rnorm(20)) # effectively 'along'
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
## 
## seq> seq(1, 9, by = 2)     # matches 'end'
## [1] 1 3 5 7 9
## 
## seq> seq(1, 9, by = pi)    # stays below 'end'
## [1] 1.000000 4.141593 7.283185
## 
## seq> seq(1, 6, by = 3)
## [1] 1 4
## 
## seq> seq(1.575, 5.125, by = 0.05)
##  [1] 1.575 1.625 1.675 1.725 1.775 1.825 1.875 1.925 1.975 2.025 2.075
## [12] 2.125 2.175 2.225 2.275 2.325 2.375 2.425 2.475 2.525 2.575 2.625
## [23] 2.675 2.725 2.775 2.825 2.875 2.925 2.975 3.025 3.075 3.125 3.175
## [34] 3.225 3.275 3.325 3.375 3.425 3.475 3.525 3.575 3.625 3.675 3.725
## [45] 3.775 3.825 3.875 3.925 3.975 4.025 4.075 4.125 4.175 4.225 4.275
## [56] 4.325 4.375 4.425 4.475 4.525 4.575 4.625 4.675 4.725 4.775 4.825
## [67] 4.875 4.925 4.975 5.025 5.075 5.125
## 
## seq> seq(17) # same as 1:17, or even better seq_len(17)
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17

工作空間

工作空間(workspace)就是當(dāng)前R的工作環(huán)境,它存儲(chǔ)著所有用戶(hù)定義的對(duì)象(向量、矩陣、函數(shù)、數(shù)據(jù)框、列表)。在一個(gè)R會(huì)話(huà)結(jié)束時(shí),你可以將當(dāng)前工作空間保存到一個(gè)鏡像中,并在下次啟動(dòng)R時(shí)自動(dòng)載入它。各種命令可在R命令行中交互式地輸入。使用上下方向鍵查看已輸入命令的歷史記錄。這樣我們就可以選擇一個(gè)之前輸入過(guò)的命令并適當(dāng)修改,最后按回車(chē)重新執(zhí)行它。
當(dāng)前的工作目錄(working directory)是R用來(lái)讀取文件和保存結(jié)果的默認(rèn)目錄。我們可以使用函數(shù) getwd() 來(lái)查看當(dāng)前的工作目錄,或使用函數(shù) setwd() 設(shè)定當(dāng)前的工作目錄。如果需要讀
入一個(gè)不在當(dāng)前工作目錄下的文件,則需在調(diào)用語(yǔ)句中寫(xiě)明完整的路徑。記得使用引號(hào)閉合這些目錄名和文件名。

getwd() # 獲取當(dāng)前工作目錄
## [1] "D:/Github/DataAnalysis"
#setwd("F:/code/R") # 改變當(dāng)前工作目錄

x <- runif(20)
summary(x)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.01001 0.20530 0.45150 0.42210 0.59360 0.91270
hist(x)
unnamed-chunk-4-1.png
#savehistory()
save.image()

查看當(dāng)前工作空間中有哪些變量:

ls()
##  [1] "age"      "fcol"     "fill"     "i1"       "i2"       "oldpar"  
##  [7] "rotsinc"  "sinc.exp" "weight"   "x"        "y"        "z"       
## [13] "z0"       "zi"

輸入和輸出

  • 輸入: source("sample.R")
  • 輸出
    • 文本輸出:sink("filename") #輸出重定向
    • 圖形輸出:jpeg("filename")、bmp("filename")、pdf("filename")

  • 什么是包
  • 包的安裝:install.packages("包的名字")
  • 包的載入:library(包的名字)
  • 包的使用: help(package="包的名字")

看看目前工作空間中加載了哪些包:

search()
## [1] ".GlobalEnv"        "package:stats"     "package:graphics" 
## [4] "package:grDevices" "package:utils"     "package:datasets" 
## [7] "package:methods"   "Autoloads"         "package:base"

示例實(shí)踐

我們將以一個(gè)結(jié)合了以上各種命令的示例結(jié)束本章。以下是任務(wù)描述。
(1) 打開(kāi)幫助文檔首頁(yè),并查閱其中的“Introduction to R”。
(2) 安裝 vcd 包(一個(gè)用于可視化類(lèi)別數(shù)據(jù)的包,你將在第11章中使用)。
(3) 列出此包中可用的函數(shù)和數(shù)據(jù)集。
(4) 載入這個(gè)包并閱讀數(shù)據(jù)集 Arthritis 的描述。
(5) 顯示數(shù)據(jù)集 Arthritis 的內(nèi)容(直接輸入一個(gè)對(duì)象的名稱(chēng)將列出它的內(nèi)容)。
(6) 運(yùn)行數(shù)據(jù)集 Arthritis自帶的示例。如果不理解輸出結(jié)果,也不要擔(dān)心。它基本上顯示了接受治療的關(guān)節(jié)炎患者較接受安慰劑的患者在病情上有了更多改善。
(7) 退出。

#help.start()
#install.packages("vcd")
help(package="vcd")
library(vcd)
## Warning: package 'vcd' was built under R version 3.3.2
## Loading required package: grid
help(Arthritis)
## starting httpd help server ...
##  done
knitr::kable(Arthritis)

ID Treatment Sex Age Improved


57 Treated Male 27 Some
46 Treated Male 29 None
77 Treated Male 30 None
17 Treated Male 32 Marked
36 Treated Male 46 Marked
23 Treated Male 58 Marked
75 Treated Male 59 None
39 Treated Male 59 Marked
33 Treated Male 63 None
55 Treated Male 63 None
30 Treated Male 64 None
5 Treated Male 64 Some
63 Treated Male 69 None
83 Treated Male 70 Marked
66 Treated Female 23 None
40 Treated Female 32 None
6 Treated Female 37 Some
7 Treated Female 41 None
72 Treated Female 41 Marked
37 Treated Female 48 None
82 Treated Female 48 Marked
53 Treated Female 55 Marked
79 Treated Female 55 Marked
26 Treated Female 56 Marked
28 Treated Female 57 Marked
60 Treated Female 57 Marked
22 Treated Female 57 Marked
27 Treated Female 58 None
2 Treated Female 59 Marked
59 Treated Female 59 Marked
62 Treated Female 60 Marked
84 Treated Female 61 Marked
64 Treated Female 62 Some
34 Treated Female 62 Marked
58 Treated Female 66 Marked
13 Treated Female 67 Marked
61 Treated Female 68 Some
65 Treated Female 68 Marked
11 Treated Female 69 None
56 Treated Female 69 Some
43 Treated Female 70 Some
9 Placebo Male 37 None
14 Placebo Male 44 None
73 Placebo Male 50 None
74 Placebo Male 51 None
25 Placebo Male 52 None
18 Placebo Male 53 None
21 Placebo Male 59 None
52 Placebo Male 59 None
45 Placebo Male 62 None
41 Placebo Male 62 None
8 Placebo Male 63 Marked
80 Placebo Female 23 None
12 Placebo Female 30 None
29 Placebo Female 30 None
50 Placebo Female 31 Some
38 Placebo Female 32 None
35 Placebo Female 33 Marked
51 Placebo Female 37 None
54 Placebo Female 44 None
76 Placebo Female 45 None
16 Placebo Female 46 None
69 Placebo Female 48 None
31 Placebo Female 49 None
20 Placebo Female 51 None
68 Placebo Female 53 None
81 Placebo Female 54 None
4 Placebo Female 54 None
78 Placebo Female 54 Marked
70 Placebo Female 55 Marked
49 Placebo Female 57 None
10 Placebo Female 57 Some
47 Placebo Female 58 Some
44 Placebo Female 59 Some
24 Placebo Female 59 Marked
48 Placebo Female 61 None
19 Placebo Female 63 Some
3 Placebo Female 64 None
67 Placebo Female 65 Marked
32 Placebo Female 66 None
42 Placebo Female 66 None
15 Placebo Female 66 Some
71 Placebo Female 68 Some
1 Placebo Female 74 Marked

example(Arthritis)
## 
## Arthrt> data("Arthritis")
## 
## Arthrt> art <- xtabs(~ Treatment + Improved, data = Arthritis, subset = Sex == "Female")
## 
## Arthrt> art
##          Improved
## Treatment None Some Marked
##   Placebo   19    7      6
##   Treated    6    5     16
## 
## Arthrt> mosaic(art, gp = shading_Friendly)
unnamed-chunk-7-1.png
## 
## Arthrt> mosaic(art, gp = shading_max)
unnamed-chunk-7-2.png
# q()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容