Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 中文一区二区在线观看,亚洲精品第一第二区,欧美亚洲啪啪

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          男朋友老是說自己R語言很6,快來用這40道題目檢測(cè)他

          男朋友老是說自己R語言很6,快來用這40道題目檢測(cè)他

          數(shù)據(jù)文摘作品,轉(zhuǎn)載要求見文末

          作者 | NSS

          編譯 | 張伯楠,劉云南

          弋心,衛(wèi)青,寧云州

          R語言是數(shù)據(jù)科學(xué)領(lǐng)域最流行的語言之一。如果你真想從事數(shù)據(jù)科學(xué)事業(yè),那你要么已經(jīng)會(huì)用R語言要么正在學(xué)習(xí)它。R語言同樣是一個(gè)擁有廣泛的統(tǒng)計(jì)和數(shù)據(jù)科學(xué)庫的生態(tài)系統(tǒng)。為了幫助數(shù)據(jù)科學(xué)家測(cè)試他們的R語言能力,我們?yōu)镈ataFest 2017設(shè)計(jì)了一部分技能測(cè)試題。

          超過1500人注冊(cè)了這項(xiàng)考試并有接近500人完成了測(cè)試。下圖是不同測(cè)試者的成績(jī)分布:

          下面是關(guān)于成績(jī)分布的一些統(tǒng)計(jì)數(shù)據(jù):

          平均分:16.69

          分?jǐn)?shù)中值:19

          眾數(shù):0

          下面是這四十道題目的問題和答案,如果錯(cuò)過了測(cè)驗(yàn),你還有機(jī)會(huì)完成這四十道題目,看看自己在R語言上究竟處于什么水平。

          友情提示:在使用本文代碼之前,請(qǐng)先清除格式,或查看本文原文網(wǎng)址復(fù)制使用。

          祝你學(xué)習(xí)愉快!

          問題與答案

          1

          請(qǐng)看下列函數(shù)

          f <- function(x) {

          g <- function(y) {

          y + z

          }

          z <- 4

          x + g(x)

          }

          1)如果我們執(zhí)行下列命令(寫在下一行),輸出結(jié)果會(huì)是什么?

          z <- 10

          f(4)

          A) 12

          B) 7

          C) 4

          D) 16

          答案:(A)

          R語言的作用域規(guī)則(scoping rule)會(huì)使z<-4的條件優(yōu)先于z<-10。因此,g(x)會(huì)返回8,所以A選項(xiàng)是正確答案。

          2

          鳶尾屬植物(iris)數(shù)據(jù)集包括多種具有不同萼片(sepal)長(zhǎng)度的花,如多剛毛類(setosa)、雜色類(versicolor)和維爾吉尼卡(virginica)等。現(xiàn)在,我們想分析所有鳶尾屬花的萼片長(zhǎng)度分布。其中之一的解決方法是通過下面所示的圖可視化它們之間的關(guān)系。

          下列哪個(gè)函數(shù)能夠用于創(chuàng)建上文所示的圖?

          A) xyplot()

          B) stripplot()

          C) barchart()

          D) bwplot()

          答案:(B)

          上文所繪是條型圖而選項(xiàng)A、C、D會(huì)分別產(chǎn)生散點(diǎn)圖、柱狀圖以及箱線圖。因此,B選項(xiàng)是正確答案。

          3

          Alpha125.50
          Beta235.61
          Beta212.030
          Beta211.300
          Alpha265.461

          文件名:Dataframe.csv

          3)下列命令哪一項(xiàng)可以在一個(gè)數(shù)據(jù)框架中正確讀取上述csv文件的全部五行內(nèi)容?

          A) csv(‘Dataframe.csv’)

          B) csv(‘Dataframe.csv’,header=TRUE)

          C) dataframe(‘Dataframe.csv’)

          D) csv2(‘Dataframe.csv’,header=FALSE,sep=’,’)

          答案:(D)

          第一個(gè)和第二選項(xiàng)會(huì)將數(shù)據(jù)第一行讀取為變量名。第三個(gè)命令不存在,因此,選項(xiàng)D是正確答案。

          4

          Excel文件格式是最常用的儲(chǔ)存數(shù)據(jù)文件格式之一。了解如何將Excel文件轉(zhuǎn)化為R語言格式非常重要。下面是一個(gè)Excel文件,其中數(shù)據(jù)儲(chǔ)存在第三個(gè)工作表中。

          Alpha125.50
          Beta235.61
          Beta212.030
          Beta211.300
          Alpha265.461

          文件名:Dataframe.xlsx

          下列哪行代碼可以從Excel工作表3中讀取數(shù)據(jù)?

          A) Openxlsx::read.xlsx(“Dataframe.xlsx”,sheet=3,colNames=FALSE)

          B) Xlsx::read.xlsx(“Dataframe.xlsx”,sheetIndex=3,header=FALSE)

          C)XLConnect::readWorksheetFromFile(“Dataframe.xlsx”,sheet=3,header=FALSE)

          D)All of the above

          答案:(D)

          上述的全部選項(xiàng)都是正確的,它們采用了不同的方法來將Excel文件讀取入R語言,且都正確讀取了文件。因此,D選項(xiàng)是正確答案。

          5

          A10Sam
          B20Peter
          C30Harry
          D!?
          E50Mark

          文件名:Dataframe.csv

          5)上述csv文件中缺失的值被感嘆號(hào)(“!”)和問號(hào)(“?”)所代替。下列哪行代表可以正確將上述csv文件讀取進(jìn)R語言?

          A) csv(‘Dataframe.csv’)

          B) csv(‘Dataframe.csv’,header=FALSE, sep=’,’,na.strings=c(‘?’))

          C) csv2(‘Dataframe.csv’,header=FALSE,sep=’,’,na.strings=c(‘?’,’!’))

          D) dataframe(‘Dataframe.csv’)

          Solution: (C)

          選項(xiàng)A不能在R語言中把“?” 和“!”讀取為“NA”;選項(xiàng)B只能把“?”讀取為“NA”而“!”不能;選項(xiàng)4并不存在。因此,選項(xiàng)C是正確答案。

          6

          Column 1Column 2Column 3
          Row 115.514.1269.5
          Row 218.656.2352.4
          Row 321.447.0263.21
          Row 436.156.6336.12

          文件名:Dataframe.csv

          上述csv文件既有行名稱又有列名稱。下面哪行代碼能夠正確地將該csv文件讀入R語言?

          A) delim(‘Train.csv’,header=T,sep=’,’,row.names=TRUE)

          B) csv2(‘Train.csv’,header=TRUE, row.names=TRUE)

          C) dataframe(‘Train.csv’,header=TRUE,sep=’,’)

          D) csv(‘Train.csv’,,header=TRUE,sep=’,’)

          答案:(D)

          A和B選項(xiàng)中的row.names參數(shù)僅僅引用有包含實(shí)際行名稱的矢量本身或者一個(gè)指向包含行名稱的列值數(shù)字,而并非一個(gè)有效的邏輯值。選項(xiàng)C并不存在。因此,D選項(xiàng)是正確答案。

          7

          Column 1Column 2Column 3
          Row 115.514.1269.5
          Row 218.656.2352.4
          Row 321.447.0263.21
          Row 436.156.6336.12

          文件名:Dataframe.csv

          下列哪行代碼將只讀取csv文件中的前兩行?

          A) csv(‘Dataframe.csv’,header=TRUE,row.names=1,sep=’,’,nrows=2

          B) csv2(‘Dataframe.csv’,row.names=1,nrows=2)

          C) delim2(‘Dataframe.csv’,header=T,row.names=1,sep=’,’,nrows=2)

          D) dataframe(‘Dataframe.csv’,header=TRUE,row.names=1,sep=’,’,skip.last=2)

          答案:(A)

          因?yàn)樵赾sv2函數(shù)中的默認(rèn)分隔符是“;”,而csv文件是“,”,B選項(xiàng)將不能正確讀取csv文件,選項(xiàng)C使用了錯(cuò)誤的參數(shù)值,選項(xiàng)D不存在。因此,選項(xiàng)A是正確答案。

          8

          Dataframe1Feature1Feature2Feature3Feature4A100025.510B200035.534C300045.578D400055.53Dataframe2Feature1Feature2Feature3E500065.5F600075.5G700085.5H800095.5

          上圖為兩個(gè)數(shù)據(jù)框,數(shù)據(jù)1和數(shù)據(jù)2。

          下列哪行代碼可以執(zhí)行出下述結(jié)果?

          Feature1Feature2Feature3
          A100025.5
          B200035.5
          C300045.5
          D400055.5
          E500065.5
          F600075.5
          G700085.5
          H800095.5

          A) merge(dataframe[,1:3],dataframe2)

          B) merge(dataframe1,dataframe2)[,1:3]

          C) merge(dataframe1,dataframe2,all=TRUE)

          D) Both 1 and 2

          E) All of the above

          答案:(D)

          C選項(xiàng)會(huì)導(dǎo)致融合后的數(shù)據(jù)框中包含feature 4,而這不是我們想要的結(jié)果。因此,D選項(xiàng)是正確答案。

          9

          V1V2
          1121.5461
          25161351
          34516918
          4613112
          5112.36230
          625.231456
          712457

          dataframe

          R語言中已讀取了一個(gè)數(shù)據(jù)集并存儲(chǔ)在變量“dataframe”中。下列哪行代碼可以實(shí)現(xiàn)整個(gè)數(shù)據(jù)集的總結(jié)(平均數(shù)、中位數(shù)、眾數(shù))?

          A) summary(dataframe)

          B) stats(dataframe)

          C) summarize(dataframe)

          D) summarise(dataframe)

          E) None of the above

          答案:(E)

          A選項(xiàng)只會(huì)給出平均值和中位數(shù),而不會(huì)給出眾數(shù)。B,C,D選項(xiàng)同樣不能提供所需統(tǒng)計(jì)信息。因此,E選項(xiàng)是正確答案。

          10

          R語言讀取了一數(shù)據(jù)集并存儲(chǔ)在變量“dataframe”中。缺失值以NA表示。

          A10Sam
          BNAPeter
          C30Harry
          D40NA
          E50Mark

          dataframe

          下列哪行代碼將不能給出每一列的缺失值?

          A) colSums(is.na(dataframe))

          B) apply(is.na(dataframe),2,sum)

          C) sapply(dataframe,function(x) sum(is.na(x))

          D) table(is.na(dataframe))

          答案:(D)

          D選項(xiàng)將給出缺失值的總數(shù)而非每列單獨(dú)給出。因此,D選項(xiàng)是正確答案。

          11

          應(yīng)用單變量分析檢查數(shù)據(jù)中的缺失值及其分布是數(shù)據(jù)分析流程中的重要步驟之一。下列是一個(gè)數(shù)據(jù)集,我們希望能為“Value”變量繪制柱狀圖。

          ParameterStateValueDependents
          AlphaActive502
          BetaActive455
          BetaPassive250
          AlphaPassive210
          AlphaPassive261
          BetaActive302
          BetaPassive180

          dataframe

          下列哪個(gè)命令能夠幫助我們完成任務(wù)?

          A) hist(dataframed$Value)

          B) ggplot2::qplot(dataframed$Value,geom=”Histogram”)

          C)ggplot2::ggplot(data=dataframed,aes(dataframe$Value))+geom_histogram()

          D) All of the above

          答案:(D)

          所有給出選項(xiàng)都可以繪制柱狀圖并可以查看數(shù)據(jù)的偏度。

          12

          ParameterStateValueUsage
          AlphaActive500
          BetaActive451
          BetaPassive250
          AlphaPassive210
          AlphaPassive261
          BetaActive301
          BetaPassive180

          諸如XGBOOST等算法只對(duì)數(shù)值數(shù)據(jù)有效。在這種情況下,數(shù)據(jù)集中的分類變量將先被轉(zhuǎn)化為虛擬變量,其可以展示數(shù)據(jù)集中某個(gè)分類是否存在。比如,當(dāng)對(duì)“Parameter”項(xiàng)數(shù)據(jù)創(chuàng)建虛擬變量后,數(shù)據(jù)集顯示如下。

          Parameter_AlphaParameter_BetaStateValueUsage
          10Active500
          01Active451
          01Passive250
          10Passive210
          10Passive261
          01Active301
          01Passive180

          下面中的哪個(gè)命令能實(shí)現(xiàn)這個(gè)功能?

          A) dummies:: dummy.data.frame(dataframe,names=c(‘Parameter’))

          B) dataframe$Parameter_Alpha=0

          dataframe$Gende_Beta=0

          dataframe$Parameter_Alpha[which(dataframe$Parameter==’Alpha’)]=1

          dataframe$Parameter_Beta[which(dataframe$Parameter==’Alpha’)]=0

          dataframe$Parameter_Alpha[which(dataframe$Parameter==’Beta’]=0

          dataframe$Parameter_Beta[which(dataframe$Parameter==’Beta’]=1

          C) contrasts(dataframe$Parameter)

          D)A和B

          答案:D

          C選項(xiàng)會(huì)將Parameter列的值變成兩種類型但不會(huì)進(jìn)行獨(dú)熱編碼(one hot encoding)。因此,選項(xiàng)D是正確選擇。

          13

          Column1Column2Column3Column4Column5Column6
          Name1Alpha1224540Alpha
          Name2Beta1632511Beta
          Name3Alpha52104320Gamma
          Name4Beta3672841Delta
          Name5Beta4590320Phi
          Name6Alpha1224120Zeta
          Name7Beta3264641Sigma
          Name8Alpha4284540Mu
          Name9Alpha56112311Eta

          以上為名為dataframe的變量。

          我們想計(jì)算數(shù)據(jù)表中第二列和第三列之間的相關(guān)性,下面代碼中的哪個(gè)能實(shí)現(xiàn)這個(gè)目的?

          A) corr(dataframe$column2,dataframe$column3)

          B) (cov(dataframe$column2,dataframe$column3))/(var(dataframe$column2)*sd(dataframe$column3))

          C)

          (sum(dataframe$Column2*dataframe$Column3)- (sum(dataframe$Column2)*sum(dataframe$Column3)/nrow(dataframe)))/(sqrt((sum(dataframe$Column2*dataframe$Column2)-(sum(dataframe$Column2)^3)/nrow(dataframe))* (sum(dataframe$Column3*dataframe$Column3)-(sum(dataframe$Column3)^2)/nrow(dataframe))))

          D)以上都不是

          答案:(D)

          在選項(xiàng)A中,corr是錯(cuò)誤的函數(shù)寫法。實(shí)際的計(jì)算相關(guān)性的函數(shù)寫法是:cor。在選項(xiàng)B中,分母應(yīng)該是標(biāo)準(zhǔn)差而不是方差。相似地,選項(xiàng)C中的公式是錯(cuò)誤的。因此,選項(xiàng)D是正確選擇。

          14

          ParameterStateValueDependents
          AlphaActive502
          BetaActive455
          BetaPassive250
          AlphaPassive210
          AlphaPassive261
          BetaActive302
          BetaPassive180

          以上為名為dataframe的變量。

          上述數(shù)據(jù)集已經(jīng)加載進(jìn)了你的R運(yùn)行空間中,變量名為“dataframe”,第一行代表列名稱。以下哪個(gè)代碼將僅選擇參數(shù)為Alpha的行?

          A) subset(dataframe, Parameter=’Alpha’)

          B) subset(dataframe, Parameter==’Alpha’)

          C) filter(dataframe,Parameter==’Alpha’)

          D) B和C

          E) 上面全部

          答案:(D)

          A選項(xiàng)中,應(yīng)該用等值運(yùn)算符取代賦值運(yùn)算符,因此選項(xiàng)D正確。

          15

          以下哪個(gè)函數(shù)用于以電子表格格式觀察數(shù)據(jù)集?

          A) disp()

          B) View()

          C) seq()

          D) 以上全部

          答案:(B)

          選項(xiàng)B是采用電子表格形式查看數(shù)據(jù)集的唯一選項(xiàng)。因此選項(xiàng)B是正確答案。

          16

          下面的數(shù)據(jù)表存儲(chǔ)在一個(gè)名字為“data”的變量中。

          AB
          1Right
          2Wrong
          3Wrong
          4Right
          5Right
          6Wrong
          7Wrong
          8Right

          data

          設(shè)定B是一個(gè)分類變量,我們需要為每一個(gè)分類級(jí)別畫一個(gè)箱線圖。以下哪一個(gè)命令能幫助我們實(shí)現(xiàn)這個(gè)功能?

          A) boxplot(A,B,data=data)

          B) boxplot(A~B,data=data)

          C) boxplot(A|B,data=data)

          D) 以上都不是

          答案(B)

          R中畫箱線圖的函數(shù)要求公式中要有分類因素,通過這些分類因素繪制不同的箱線圖。因此選項(xiàng)B是正確的答案。

          17

          下面命令中的哪一個(gè)能把繪圖窗口分成4×3的窗口?同時(shí)繪圖逐列輸入窗口。

          A) par(split=c(4,3))

          B) par(mfcol=c(4,3))

          C) par(mfrow=c(4,3))

          D) par(col=c(4,3))

          答案:(B)

          mfcol命令參數(shù)能保證圖像逐列輸入繪圖窗口。因此,選項(xiàng)B是正確答案。

          18

          一個(gè)數(shù)據(jù)表變量 “df” 具有如下數(shù)據(jù):

          Dates

          2017-02-28

          2017-02-27

          2017-02-26

          2017-02-25

          2017-02-24

          2017-02-23

          2017-02-22

          2017-02-21

          我們希望把它讀取成如下格式:

          28 Tuesday Feb 17

          27 Monday Feb 17

          26 Sunday Feb 17

          25 Saturday Feb 17

          24 Friday Feb 17

          23 Thursday Feb 17

          22 Wednesday Feb 17

          21 Tuesday Feb 17

          下面命令中的哪些(個(gè))能產(chǎn)生期望的輸出?

          A) format(df,”%d %A %b %y”)

          B) format(df,”%D %A %b %y”)

          C) format(df,”%D %a %B %Y”)

          D) 以上都不是

          答案: (D)

          以上的選項(xiàng)都不能產(chǎn)生期望的輸出。因此選項(xiàng)D是正確答案。

          19

          下列哪個(gè)命令能將數(shù)據(jù)表“table”的第二列名稱由alpha改成beta

          A) colnames(table)[2]=’beta’

          B) colnames(table)[which(colnames==’alpha’)]=’beta’

          C) setnames(table,’alpha’,’beta’)

          D) 以上所有

          答案: (D)

          上面的選項(xiàng)都是重命名數(shù)據(jù)表中列名稱的不同方法,因此,選項(xiàng)D是正確答案。

          20

          R運(yùn)行中的大部分工作都使用系統(tǒng)內(nèi)存,如果同時(shí)采用大的數(shù)據(jù)集,當(dāng)R的工作空間不能保證所有的R對(duì)象都保持在內(nèi)存中時(shí)問題就出現(xiàn)了。在這樣的情況下,移除無用的對(duì)象是一種解決方法。

          下面命令中的哪個(gè)或哪些可以從工作空間中移除R對(duì)象或變量“santa”?

          A) remove(santa)

          B) rm(santa)

          C) 上面全部

          D) 都不是

          答案 : (C)

          remove 和 rm,都能用于清理工作空間。因此選項(xiàng)C是正確答案。

          21

          “dplyr”是R中最流行的工具包之一,它包括5個(gè)核心數(shù)據(jù)處理函數(shù)。下面選項(xiàng)中的哪一個(gè)不是dplyr中的核心函數(shù)?

          A) select()

          B) filter()

          C) arrange()

          D) summary()

          答案: (D)

          summary 是R語言基礎(chǔ)工具包中的函數(shù)而不是dplyr中的函數(shù)。

          22

          在特征選擇過程(feature selection)中使用下面的數(shù)據(jù)表(名稱為table),列1和列2已經(jīng)證明影響不顯著。因此我們不會(huì)把這兩個(gè)特性加入到我們的預(yù)測(cè)模型中。

          Column1Column2Column3Column4Column5Column6
          Name1Alpha1224540Alpha
          Name2Beta1632511Beta
          Name3Alpha52104320Gamma
          Name4Beta3672841Delta
          Name5Beta4590320Phi
          Name6Alpha1224120Zeta
          Name7Beta3264641Sigma
          Name8Alpha4284540Mu
          Name9Alpha56112311Eta

          table

          下面命令中的哪些(個(gè))能選擇“table”中列3到列6中的所有行?

          A) dplyr::select(table,Column3:Column6)

          B) table[,3:6]

          C) subset(table,select=c(‘Column3’,’Column4’,’Column5’,’Column6’))

          D) 以上全部

          答案: (D)

          選項(xiàng)A、B和C都是不同的選取列的方法,所以選項(xiàng)D是正確答案。

          23

          Column1Column2Column3Column4Column5Column6
          Name1Alpha1224540Alpha
          Name2Beta1632511Beta
          Name3Alpha52104320Gamma
          Name4Beta3672841Delta
          Name5Beta4590320Phi
          Name6Alpha1224120Zeta
          Name7Beta3264641Sigma
          Name8Alpha4284540Mu
          Name9Alpha56112311Eta

          以上為變量名為table的數(shù)據(jù)表。

          下面哪個(gè)(些)命令會(huì)選取列1中帶有“alpha”值的行,同時(shí)選取列4中數(shù)值小于50的項(xiàng)?這個(gè)數(shù)據(jù)表存儲(chǔ)在名為“table”的變量中。

          A) dplyr::filter(table,Column1==’Alpha’, Column4<50)

          B) dplyr::filter(table,Column1==’Alpha’ & Column4<50)

          C) 以上全部

          D) 以上都不是

          答案: (A)

          dplyr中的filter函數(shù)使用“,”來添加條件,而不是“&”。因此,選項(xiàng)A是正確答案。

          24

          Column1Column2Column3Column4Column5Column6
          Name1Alpha1224540Alpha
          Name2Beta1632511Beta
          Name3Alpha52104320Gamma
          Name4Beta3672841Delta
          Name5Beta4590320Phi
          Name6Alpha1224120Zeta
          Name7Beta3264641Sigma
          Name8Alpha4284540Mu
          Name9Alpha56112311Eta

          以上為變量名為table的數(shù)據(jù)表。

          下面代碼中的哪些(個(gè))能把數(shù)據(jù)表基于列2進(jìn)行升序排列,同時(shí)對(duì)列3進(jìn)行降序排列?

          A) dplyr::arrange(table,desc(Column3),Column2)

          B) table[order(-Column3,Column2),]

          C) 以上全部

          D) 以上都不是

          答案: (C)

          order和arrange函數(shù)都能用于在R中對(duì)列進(jìn)行分類。因此選項(xiàng)C是正確答案。

          25

          處理字符串?dāng)?shù)據(jù)(string)是文本分析的一個(gè)重要組成部分,當(dāng)創(chuàng)建參數(shù)符號(hào)或其它符號(hào)時(shí),分割字符串經(jīng)常是一項(xiàng)常用任務(wù)。下面命令行的輸出是什么?

          A<-paste("alpha","beta","gamma",sep=" " )

          B<-paste("phi","theta","zeta",sep="")

          parts<-strsplit(c(A,B),split=” ”)

          parts[[1]][2]

          A) alpha

          B) beta

          C) gamma

          D) phi

          E) theta

          F) zeta

          答案 : (B)

          c(A.B) 將合并 A=”alpha beta gamma” 和 B=”phithetazeta” 并將其通過空格隔開。使用strsplit之后,之前合成的字符串會(huì)再次將A,B用空格隔開,分別生成兩個(gè)list 。parts[[1]][2]命令旨在顯示第一個(gè)list中的第二個(gè)元素,是“beta”。因此選項(xiàng)B是正確答案。

          26

          以下命令的輸出是什么?

          grepl(“neeraj”,c(“dheeraj”,”Neeraj”,”neeraj”,”is”,”NEERAJ”))

          A) [FALSE TRUE TRUE FALSE TRUE]

          B) [FALSE TRUE TRUE FALSE FALSE]

          C) [FALSE FALSE TRUE FALSE FALSE]

          D) None of the above

          答案:(C)

          上述命令將檢測(cè)集合中的元素是否與前面的“neeraj”完全匹配,因此選項(xiàng)C是正確答案。

          27

          作為從事文本數(shù)據(jù)工作的數(shù)據(jù)科學(xué)家,我們有時(shí)會(huì)遇到這樣一些情況,即發(fā)現(xiàn)某個(gè)不需要的單詞多次出現(xiàn)。以下就是一個(gè)此類的字符串。

          A<-c("I can use because thrice in a sentence because because is a special word.")

          A) gsub(“because”,”since”,A)

          B) sub(“because”,”since”,A)

          C) regexec(“because”,”since”,A)

          D) None of the above

          答案:(A)

          sub命令僅替換字符串中第一次出現(xiàn)的單詞,而regexec將返回匹配的位置列表,如果沒有匹配則返回-1。因此,選項(xiàng)A是正確答案。

          28

          28)想象一個(gè)通過以下代碼創(chuàng)建的數(shù)據(jù)框。

          以下哪個(gè)命令能夠在這兩列上幫助我們刪除重復(fù)行?

          A) df[!duplicated(df),]

          B) unique(df)

          C) dplyr::distinct(df)

          D) All of the above

          答案:(D)

          上述所有答案都是基于這兩列刪除重復(fù)行的不同方法。因此,選項(xiàng)D是正確答案。

          29

          分組(grouping)是數(shù)據(jù)分析中的一項(xiàng)重要活動(dòng),它可以幫助我們發(fā)現(xiàn)一些有趣的趨勢(shì),這些趨勢(shì)在原始數(shù)據(jù)中可能并不易被發(fā)現(xiàn)。

          假設(shè)你有一個(gè)由以下代碼行創(chuàng)建的數(shù)據(jù)集。

          table<-data.table(foo=c("A","B","A","A","B","A"),bar=1:6)

          以下哪個(gè)命令能幫我們計(jì)算出由foo變量分組的bar變量的平均值?

          A) aggregate(bar~foo,table,mean)

          B) table::df[,mean(bar),by=foo]

          C) dplyr::table%>%group_by(foo)%>%summarize(mean=mean(bar))

          D) All of the above

          答案:(D)

          所有上述方法都可用于計(jì)算列的分組統(tǒng)計(jì)值。因此,選項(xiàng)D是正確答案。

          30

          如果我有兩組矢量x < - c(1,3,5)和y <-c(3,2),那么,cbind(x,y)將產(chǎn)生什么?

          A)一個(gè)兩列三行的矩陣

          B)一個(gè)三列兩行的矩陣

          C)一個(gè)兩列三行的數(shù)據(jù)框

          D)一個(gè)三列兩行的數(shù)據(jù)框

          答案:(D)

          上述所有選項(xiàng)定義的都是雜亂數(shù)據(jù),因此選項(xiàng)D是正確答案。

          31

          下列哪一命令可以把以下名為maverick的數(shù)據(jù)框轉(zhuǎn)換為下方顯示的數(shù)據(jù)框?

          輸入數(shù)據(jù) ——“maverick”

          GradeMaleFemale
          A1015
          B2015
          A3035

          輸出數(shù)據(jù)

          GradeSexCount
          AMale10
          AFemale15
          BMale30
          BFemale15
          AMale30
          AFemale35

          A) tidyr::Gather(maverick, Sex,Count,-Grade)

          B) tidyr::spread(maverick, Sex,Count,-Grade)

          C) tidyr::collect(maverick, Sex,Count,-Grade)

          D) None of the above

          答案:(A)

          Spread命令是將行轉(zhuǎn)換為列,而在tidyr包或基礎(chǔ)包中沒有collect這一命令。因此,選項(xiàng)A是正確答案。

          32

          下列哪一命令能幫助我們將下列矢量所有Delhi換成Delhi_NCR ?

          C<-c(“Delhi is”,”a great city.”,”Delhi is also”,”the capital of India.”)

          A) gsub(“Delhi”,”Delhi_NCR”,C)

          B) sub(“Delhi”,”Delhi_NCR”,C)

          C) Both of the above

          D) None of the above

          答案:(C)

          雖然sub命令僅能替換第一次出現(xiàn)的模式,但在本情境下,字符串中只出現(xiàn)了一個(gè)Delhi。因此,在這種情況下,gsub和sub命令都有效。所以,選項(xiàng)C是正確答案。

          33

          創(chuàng)建一個(gè)表示另一變量是否有缺失值的特征數(shù)據(jù),有時(shí)對(duì)于預(yù)測(cè)模型來說非常有用。

          下方數(shù)據(jù)框中的某一列有缺失值。

          Feature1Feature2
          BNA
          C30
          D40
          E50

          以下哪個(gè)命令將創(chuàng)建一個(gè)名為“missing”、值為1的列,其中變量“Feature2”具有缺失值?

          Feature1Feature2Missing
          BNA1
          C300
          D400
          E500

          A)

          dataframe$missing<-0

          dataframe$Missing[is.na(dataframe$Feature2)]<-1

          B)

          dataframe$missing<-0

          dataframe$Missing[which(is.na(dataframe$Feature2))]<-1

          C) Both of the above

          D) None of the above

          答案:(C)

          選項(xiàng)C是正確答案。

          34

          假設(shè)有2個(gè)數(shù)據(jù)框“A”和“B”。A有34行,B有46行。運(yùn)行以下命令后,所得數(shù)據(jù)框的行數(shù)是多少?

          merge(A,B,all.x=TRUE)

          A) 46

          B) 12

          C) 34

          D) 80

          答案:(C)

          all.x表示以A為基礎(chǔ)進(jìn)行合并,因此合并后的數(shù)據(jù)框?qū)cA相同的行數(shù)。所以,選項(xiàng)C是正確答案。

          35

          加載數(shù)據(jù)集后,數(shù)據(jù)科學(xué)家通常做的第一件事就是明確數(shù)據(jù)集所包含的行數(shù)和列數(shù)。更專業(yè)地講,這是了解數(shù)據(jù)集的維度。這樣做是為了明確正在處理的數(shù)據(jù)規(guī)模,然后選擇正確的技術(shù)和工具。

          以下哪個(gè)命令不能幫我們查看數(shù)據(jù)集的維度?

          A) dim()

          B) str()

          C) View()

          D) None of the above

          答案:(C)

          View命令能夠以類似電子表格的格式將數(shù)據(jù)集打印到控制臺(tái),但不能幫助我們查看數(shù)據(jù)集維度。因此,選項(xiàng)C是正確答案。

          36

          有時(shí)候,我們會(huì)遇到這樣的情況,即一個(gè)數(shù)據(jù)集包含兩列,而我們希望知道其中一列的哪些元素不存在于另一列中。這在R中使用setdiff命令很容易實(shí)現(xiàn)。

          Column1Column2Column3Column4Column5Column6
          Name1Alpha1224540Zion
          Name2Beta1632511Beta
          Name3Alpha52104320Gamma
          Name4Beta3672841Delta
          Name5Beta4590320Phi
          Name6Alpha1224120Zeta
          Name7Beta3264641Sigma
          Name8Alpha4284540Mu
          Name9Alpha56112311Eta

          Dataframe

          以下命令的輸出是什么?

          setdiff(dataframe$Column1,dataframe$Column6)==setdiff(dataframe$Column6,dataframe$Column1)

          A) TRUE

          B) FALSE

          C) Can’t Say

          答案:(B)

          參數(shù)的順序在setdiff函數(shù)中很重要。因此,選項(xiàng)B是正確答案。

          37

          下列數(shù)據(jù)集存儲(chǔ)在一個(gè)名為“frame”的變量中。

          AB
          alpha100
          beta120
          gamma80
          delta110

          以下哪個(gè)命令可以為上述數(shù)據(jù)集創(chuàng)建條形圖。使用B列中的值來表示條形圖的高度。

          A) ggplot(frame,aes(A,B))+geom_bar(stat=”identity”)

          B) ggplot(frame,aes(A,B))+geom_bar(stat=”bin”)

          C) ggplot(frame,aes(A,B))+geom_bar()

          D) None of the above

          答案:(A)

          stat=“identity”將確保B列中的值成為條形圖的高度。因此,選項(xiàng)A是正確答案。

          38

          Ampgcyldisphpdratwtqsecvsamgearcarb
          Mazda RX421.061601103.902.62016.460144
          Mazda RX4 Wag21.061601103.902.87517.020144
          Datsun 71022.84108933.852.32018.611141
          Hornet Drive21.462581103.083.21519.441031
          Hornet Sportabout18.783601753.153.44017.020032
          Valiant18.162251052.763.46020.221031

          我們希望為cyl變量創(chuàng)建一個(gè)堆疊條形圖,堆疊標(biāo)準(zhǔn)為“要素vs數(shù)量”。以下哪個(gè)命令將幫助我們執(zhí)行此操作?

          A)qplot(factor(cyl),data=mtcars,geom=”bar”,fill=factor(vs)

          B) ggplot(mtcars,aes(factor(cyl),fill=factor(vs)))+geom_bar()

          C) All of the above

          D) None of the above

          答案:(C)

          選項(xiàng)A和B都將創(chuàng)建一個(gè)由“fill”參數(shù)引導(dǎo)的堆疊條形圖。因此,選項(xiàng)C是正確答案。

          39

          39)命令paste(1:3,c(“x”,“y”,“z”),sep=“”)的輸出是什么?

          A) [1 2 3x y z]

          B) [1:3x y z]

          C) [1x 2y 3z]

          D) None of the above

          答案:(C)

          40

          R語言擁有豐富的資源,可以用來繪制非常高端的圖表,很多時(shí)候你想保存圖表以便向他人展示。那么,將你的圖表保存為PDF文件便是這一種選擇。

          如果要將圖表保存為PDF文件,下列哪項(xiàng)做法正確?

          A) Construct the plot on the screen device and then copy it to a PDF file with dev.copy2pdf().

          B) Construct the plot on the PNG device with png(), then copy it to a PDF with dev.copy2pdf().

          C) Open the PostScript device with postscript(), construct the plot, then close the device with dev.off().

          D) Open the screen device with quartz(), construct the plot, and then close the device with dev.off().

          答案:(A)

          首先在屏幕設(shè)備上創(chuàng)建圖表,然后可以輕松地復(fù)制到pdf文件中。因此,選項(xiàng)A是正確答案。

          結(jié)語

          用以上的四十道題來檢驗(yàn)自己R語言的編程能力吧!祝大家編程愉快,早日脫單!

          原文鏈接:https://www.analyticsvidhya.com/blog/2017/05/40-questions-r-for-data-science/

          avaScript中的數(shù)據(jù)類型檢測(cè)是一個(gè)重要的概念,它涉及到如何確定一個(gè)變量或者值的類型。在JavaScript中,有多種方法可以用來檢測(cè)數(shù)據(jù)類型,包括typeof、instanceof、Object.prototype.toString、Array.isArray和NaN判斷等。下面將詳細(xì)介紹這些數(shù)據(jù)類型檢測(cè)方案:


          typeof

          • 基本用法:typeof是一個(gè)內(nèi)置的操作符,用于檢測(cè)給定變量的數(shù)據(jù)類型。它可以返回如"number"、"string"、"boolean"、"object"、"function"和"undefined"等字符串。
          • 用途與限制:typeof對(duì)于基本數(shù)據(jù)類型(如number、string、boolean、undefined、function)的檢測(cè)非常可靠。然而,對(duì)于null和所有對(duì)象(包括數(shù)組和對(duì)象),typeof都會(huì)返回"object",這可能導(dǎo)致一些誤判。

          instanceof

          • 基本用法:instanceof用于檢測(cè)構(gòu)造器函數(shù)的prototype屬性是否出現(xiàn)在某個(gè)對(duì)象的原型鏈上。如果是,則返回true;否則返回false。
          • 用途與限制:instanceof適合用于自定義的對(duì)象類型檢測(cè),因?yàn)樗梢詸z查一個(gè)對(duì)象是否是一個(gè)特定構(gòu)造器的實(shí)例。但對(duì)于原生對(duì)象類型(如Number、String、Boolean),在大多數(shù)情況下,使用instanceof并不是一個(gè)好主意,因?yàn)檫@些類型的構(gòu)造器函數(shù)并不保證能夠準(zhǔn)確識(shí)別出相應(yīng)類型的值。

          Object.prototype.toString

          • 基本用法:通過調(diào)用一個(gè)對(duì)象的Object.prototype.toString方法,可以得到一個(gè)格式化的字符串,這個(gè)字符串包含了對(duì)象的具體類型信息。
          • 用途與限制:Object.prototype.toString.call(value)可以說是JavaScript中最準(zhǔn)確的類型檢測(cè)方法之一,能夠區(qū)分?jǐn)?shù)組、null以及其他各種內(nèi)置對(duì)象。但是,這種方法需要記住的代碼比較多,語法也相對(duì)冗長(zhǎng)。

          Array.isArray

          • 基本用法:Array.isArray(value)用于檢測(cè)給定的值是否是一個(gè)數(shù)組。
          • 用途與限制:該方法專門用于數(shù)組的檢測(cè),簡(jiǎn)單且直接。但它只能用于檢測(cè)數(shù)組,對(duì)于其他類型的檢測(cè)無能為力。

          NaN判斷

          • 基本用法:在JavaScript中,NaN是一個(gè)特殊的值,表示“非數(shù)字”。由于NaN是唯一與自身不相等的值,因此可以使用value !==value來判斷一個(gè)值是否是NaN。此外,還可以使用Number.isNaN(value)來進(jìn)行更準(zhǔn)確的判斷。
          • 用途與限制:這種方法專用于檢測(cè)NaN,對(duì)于其他類型的檢測(cè)不適用。

          綜上所述,JavaScript提供了多種數(shù)據(jù)類型檢測(cè)方案,每種方案都有其用途和限制。在實(shí)際開發(fā)中,應(yīng)根據(jù)具體需求選擇合適的方法來確保數(shù)據(jù)類型的正確判斷。

          能力檢測(cè)類似,怪癖檢測(cè)(quirks detection)的目標(biāo)是識(shí)別瀏覽器的特殊行為。但與能力檢測(cè)確認(rèn)瀏覽器支持什么能力不同,怪癖檢測(cè)是想要知道瀏覽器存在什么缺陷(“怪癖”也就是bug)。這通常需要運(yùn)行一小段代碼,以確定某一特性不能正常工作。例如,IE8及更早版本中存在一個(gè)bug,即如果某個(gè)實(shí)例屬性與標(biāo)記為[[DontEnum]]的某個(gè)原型屬性同名,那么該實(shí)例屬性將不會(huì)出現(xiàn)在fon-in循環(huán)當(dāng)中。可以使用如下代碼來檢測(cè)這種“怪癖”。


          var hasDontEnumQuirk=function(){


          var o={ toString : function(){} };
          for (var prop in o){
          if (prop=="toString"){
          return false;
          }
          }


          return true;
          }();


          QuirksDetectionExample01.htm


          以上代碼通過一個(gè)匿名函數(shù)來測(cè)試該“怪癖”,函數(shù)中創(chuàng)建了一個(gè)帶有toString()方法的對(duì)象。在正確的ECMAScript實(shí)現(xiàn)中,toString應(yīng)該在for-in循環(huán)中作為屬性返回。
          另一個(gè)經(jīng)常需要檢測(cè)的“怪癖”是Safari 3以前版本會(huì)枚舉被隱藏的屬性。可以用下面的函數(shù)來檢測(cè)該“怪癖”。


          var hasEnumShadowsQuirk=function(){


          var o={ toString : function(){} };
          var count=0;
          for (var prop in o){
          if (prop=="toString"){
          count++;
          }
          }


          return (count > 1);
          }();


          QuirksDetectionExample01.htm


          如果瀏覽器存在這個(gè)bug,那么使用for-in循環(huán)枚舉帶有自定義的toString()方法的對(duì)象,就會(huì)返回兩個(gè)toString的實(shí)例。
          一般來說,“怪癖”都是個(gè)別瀏覽器所獨(dú)有的,而且通常被歸為bug。在相關(guān)瀏覽器的新版本中,這些問題可能會(huì)也可能不會(huì)被修復(fù)。由于檢測(cè)“怪癖”涉及運(yùn)行代碼,因此我們建議僅檢測(cè)那些對(duì)你有直接影響的“怪癖”,而且最好在腳本一開始就執(zhí)行此類檢測(cè),以便盡早解決問題。


          想要了解更多Java基礎(chǔ)知識(shí),可以點(diǎn)擊評(píng)論區(qū)鏈接和小編一起學(xué)習(xí)java吧,此視頻教程為初學(xué)者而著,零基礎(chǔ)入門篇!給同學(xué)們帶來全新的Java300集課程啦!java零基礎(chǔ)小白自學(xué)Java必備優(yōu)質(zhì)教程_手把手圖解學(xué)習(xí)Java,讓學(xué)習(xí)成為一種享受_嗶哩嗶哩_bilibili


          主站蜘蛛池模板: 国产福利微拍精品一区二区 | 精品一区二区三区无码免费视频| 久久国产精品一区免费下载| 天天综合色一区二区三区| 中文字幕一区在线观看| 午夜视频一区二区| 欧美日韩一区二区成人午夜电影 | 国产精品电影一区二区三区| 亚洲国产美国国产综合一区二区| 国产精品99无码一区二区| 国产一区二区三区露脸| 国精产品一区一区三区有限在线| 亚洲香蕉久久一区二区三区四区| 久久国产午夜一区二区福利| 国偷自产一区二区免费视频| 99国产精品一区二区| 一区二区国产在线观看| 国产一区二区三区不卡在线观看 | 国产在线视频一区二区三区98 | 亚洲AV无码一区二区三区在线| 日韩人妻无码一区二区三区 | 日韩人妻无码免费视频一区二区三区 | 三上悠亚精品一区二区久久| 一区二区三区影院| 精品人妻少妇一区二区| 久久精品一区二区三区中文字幕 | 中文字幕不卡一区| 亚洲乱码日产一区三区| 久久精品岛国av一区二区无码| 波多野结衣免费一区视频| 精品日产一区二区三区手机| 国产亚洲一区二区三区在线| 无码欧精品亚洲日韩一区| 久久久老熟女一区二区三区| 中文字幕人妻第一区| 日韩在线视频一区| 亚洲av片一区二区三区| 日本不卡一区二区三区视频| 精品一区二区三区在线观看视频 | 亚洲一区二区成人| 精品无码成人片一区二区98 |