課后作業(yè)1:R入門
一:習(xí)題內(nèi)容
1.要與R交互必須安裝Rstudio,這種說(shuō)法對(duì)不對(duì)?
不對(duì)。雖然RStudio是一個(gè)流行的R交互集成開(kāi)發(fā)環(huán)境,但并不是與R交互的唯一方式。
與R交互可以采用以下幾種方法:
- 使用R Console:R語(yǔ)言自帶了一個(gè)控制臺(tái)界面。這種方式不需要安裝任何額外的軟件,只需安裝R本身。
- 使用其他編輯器:用戶可以使用任何文本編輯器編寫R代碼,并在R控制臺(tái)或者終端中執(zhí)行。一些常見(jiàn)的文本編輯器包括Notepad++、Sublime Text、Atom等。用戶只需要將編輯器中編寫的R代碼復(fù)制粘貼到R控制臺(tái)中執(zhí)行即可。
- 使用其他集成開(kāi)發(fā)環(huán)境:其他集成開(kāi)發(fā)環(huán)境包括Visual Studio Code(通過(guò)R擴(kuò)展)、Jupyter Notebook(通過(guò)IRkernel)、Emacs(通過(guò)ESS包)等。
2.下面哪一個(gè)不能用于R的賦值?
A.<- B.-> C.= D._
答案是:D。
A是采用左箭頭進(jìn)行賦值,例如 x <- c(1,2)。
B是采用右箭頭進(jìn)行賦值,例如 c(1,2) -> x。
C是采用等于號(hào)進(jìn)行賦值,例如x = c(1,2)。
3.objects(4)輸出什么?
在R中,執(zhí)行 objects(4) 會(huì)列出所有默認(rèn)加載的函數(shù)名稱,這些函數(shù)包含在R的基本命名空間中。輸出函數(shù)包括繪圖函數(shù)(如plot()、points()、lines()等)、統(tǒng)計(jì)函數(shù)(如hist()、boxplot()等)以及其他常用函數(shù)(如title()、legend()等)。
4.安裝R包和載入R包有什么區(qū)別。
安裝R包是指將R包從CRAN(Comprehensive R Archive Network)或其他來(lái)源下載并安裝到你的計(jì)算機(jī)上。當(dāng)用戶第一次使用某個(gè)R包時(shí),用戶需要先安裝R包,然后才能在R環(huán)境中使用。安裝R包通常只需要進(jìn)行一次,在R環(huán)境中安裝后,用戶就可以在需要的時(shí)候隨時(shí)載入并使用該包。
載入R包是指在用戶的R會(huì)話中將某個(gè)已經(jīng)安裝的R包加載到內(nèi)存中,以便在當(dāng)前會(huì)話中使用該包中的函數(shù)和數(shù)據(jù)。當(dāng)用戶需要使用某個(gè)已安裝的R包時(shí),用戶需要使用library()函數(shù)或require()函數(shù)來(lái)加載。載入R包通常需要在每個(gè)新的R會(huì)話中執(zhí)行一次,以確保該包的函數(shù)和數(shù)據(jù)可用。
總而言之,安裝是將包下載到你的環(huán)境中的過(guò)程,只需要做一次(除非需要更新)。載入是在每次R會(huì)話中激活包以便使用的過(guò)程,需要在每次需要使用包時(shí)進(jìn)行。
5.Rhistory和Rdata文件有什么區(qū)別。
Rhistory和Rdata文件是在R中用于保存數(shù)據(jù)和歷史記錄的兩種不同類型的文件,其作用和內(nèi)容有所不同。
Rhistory |
Rdata |
Rhistor文件記錄了在R控制臺(tái)中輸入的命令歷史記錄。 |
Rdata文件用于保存R工作環(huán)境中的數(shù)據(jù)和對(duì)象。 |
每次在R控制臺(tái)中輸入命令并按下回車鍵時(shí),該命令都會(huì)被追加到 Rhistory 文件中。 |
可以使用save()函數(shù)將R工作空間中的數(shù)據(jù)和對(duì)象保存到一個(gè) .Rdata 文件中。 |
Rhistory 文件可以在退出R會(huì)話時(shí)保存,以便下次重新進(jìn)入R時(shí)恢復(fù)命令歷史記錄。 |
可以包含多個(gè)數(shù)據(jù)框、向量、列表等R對(duì)象,以及與它們相關(guān)的元數(shù)據(jù)。 |
通常,Rhistory 文件的擴(kuò)展名是 .Rhistory,并且位于用戶主目錄下(如~/.Rhistory)。 |
可以使用load()函數(shù)加載 .Rdata 文件,并將其中保存的數(shù)據(jù)和對(duì)象恢復(fù)到R工作環(huán)境中。 |
總而言之,RData以二進(jìn)制的方式保存了會(huì)話中的變量值,而Rhistory以文本文件的方式保存了R會(huì)話中的所有命令。
6.什么是屏蔽?
在R中,屏蔽(masking)是指當(dāng)兩個(gè)或多個(gè)具有相同名稱的函數(shù)或?qū)ο蟠嬖跁r(shí),較近的作用域中的函數(shù)或?qū)ο髮⑵帘屋^遠(yuǎn)處的函數(shù)或?qū)ο蟆?/span>
這種情況通常發(fā)生在使用多個(gè)包或在不同的作用域中定義相同名稱的函數(shù)或?qū)ο髸r(shí)。
例如,假設(shè)用戶在一個(gè)R腳本中加載了兩個(gè)包,這兩個(gè)包都定義了名為mean()的函數(shù)。當(dāng)用戶調(diào)用mean()函數(shù)時(shí),由于R按照搜索路徑的順序查找函數(shù),將優(yōu)先使用最近加載的包中定義的mean()函數(shù)。
7.顯示R會(huì)話的搜索路徑。
在R中,可以使用search()函數(shù)來(lái)顯示R會(huì)話的搜索路徑。
同時(shí),可以使用getwd()函數(shù)獲取當(dāng)前工作目錄的路徑。
8.用objects列出“datasets”包中的所有對(duì)象。
代碼:
objects("package:datasets") |
運(yùn)行結(jié)果:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-839267.html
9.在packages窗口中從CRAN安裝mangoTraining包。
根據(jù)網(wǎng)站可知,mangoTraining依賴包目前無(wú)法匹配R4.3的版本(CRAN - Package mangoTraining)。通過(guò)訪問(wèn)曾經(jīng)該依賴包的存檔壓縮文件在網(wǎng)站(Index of /src/contrib/Archive/mangoTraining),可下載相應(yīng)版本的mangoTraining壓縮包。
下載某個(gè)壓縮包后,解壓到本地。
在RStudio的console處,通過(guò)install.packages的代碼【install.packages("C:\\Users\\86158\\Desktop\\mangoTraining", repos = NULL, type = "source")】可以安裝完畢。
10.列出mangoTraining中包含的對(duì)象。
代碼:
library("mangoTraining") objects("package:mangoTraining") |
運(yùn)行結(jié)果:
11. 計(jì)算31079除170166719的余數(shù)。
代碼:
a <- 31079 b <- 170166719 c <- b%%a c |
運(yùn)行結(jié)果:
12.利用R計(jì)算以下數(shù)值,小數(shù)點(diǎn)精確到后5位。
(1)
代碼:
round(pi**exp(1),5) round(exp(1)**pi,5) round(exp(pi)**exp(1),5)?? # 這個(gè)也可用sprintf進(jìn)行省略數(shù)的計(jì)算,參考(2)中的代碼 round(pi**exp(1)-exp(1)**pi,5) |
運(yùn)行結(jié)果:
(2)
代碼:
result <- round((2.3)^8 + log(7.5) - cos(pi/sqrt(2)), 5) formatted_result <- sprintf("%.5f", result) formatted_result |
運(yùn)行結(jié)果:
13. 使用seq和rep函數(shù)生成向量(1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9)。
分析可知,該向量由(1 2 3 4 5)、(2 3 4 5 6)、(3 4 5 6 7)、(4 5 6 7 8)、(5 6 7 8 9)5個(gè)子向量組成,且后面一個(gè)子向量在前面一個(gè)子向量的基礎(chǔ)上進(jìn)行了+1操作。
代碼:(1)生成從1到5的向量;(2)使用rep()函數(shù)重復(fù)向量,并逐步增加重復(fù)的次數(shù)。
vec <- seq(1, 5) result <- rep(vec, each = 5) + rep(0:4, times = 5) result |
運(yùn)行結(jié)果:
14.用1-9的整數(shù)列創(chuàng)建長(zhǎng)度為9的字符型向量,以letters作為向量的元素名,使用該向量完成以下操作。
(0)創(chuàng)建向量。
代碼:
char_vec <- as.character(1:9) names(char_vec) <- letters[1:9] char_vec |
運(yùn)行結(jié)果:
(1)選擇向量的第一個(gè)值和最后一個(gè)值。
代碼:
char_vec[c("a","i")] |
運(yùn)行結(jié)果:
(2)選擇向量中大于3的值。
代碼:
char_vec[char_vec > 3] |
運(yùn)行結(jié)果:
(3)選擇向量中2-7之間的所有值。
代碼:
char_vec[2:7] |
運(yùn)行結(jié)果:
(4)選擇除了5以外的所有值。
代碼:
char_vec[-5] |
運(yùn)行結(jié)果:
(5)選擇向量中名稱為“D”、“E”,“G”的元素。
代碼:
char_vec[c("d", "e", "g")] |
運(yùn)行結(jié)果:
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-839267.html
到了這里,關(guān)于【數(shù)據(jù)挖掘】練習(xí)1:R入門的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!