《R語(yǔ)言入門經(jīng)典》第12章dplyr和data.table包的使用

好多函數(shù),腦子蒙圈了,但是按著書本,練習(xí)題還是很容易上手的

第一部分練習(xí)題:使用dplyr包完成下列操作

rm(list = ls())
library(dplyr)
head(airquality)
air <- tbl_df(airquality) #創(chuàng)建一個(gè)可以用的對(duì)象
arrange(air,Wind)#根據(jù)Wind排序
filter(air,!is.na(air$Ozone))#去除Ozone中NA的值,記住這個(gè)函數(shù)用的是邏輯值
mutate(air,"Value" = Ozone/Wind,Solar.R = NULL)#增加一列Ozone和Wind的比值,去除Solar.R列

#創(chuàng)建一個(gè)新的表格,篩選6,7月份的保留Month,Day,Solar.R
solar <- {filter(air,Month %in% c(6,7)) %>% select(Month,Day,Solar.R)}
#左聯(lián)合這兩個(gè)數(shù)據(jù)(感覺(jué)沒(méi)意義
nData <- left_join(air,solar)
#用新數(shù)據(jù)根據(jù)月份計(jì)算Ozone的中值
nData %>% 
  group_by(Month) %>%
  summarise(median(Ozone,na.rm = T))

第二部分練習(xí)題:使用data.table完成下列操作

rm(list = ls())
library(data.table)
head(airquality)
air <- data.table(airquality)
class(airquality)
setkey(air,Wind)#排序Wind,其實(shí)設(shè)置key就是排序
head(air)
air[!is.na(Ozone),]
#太餓了,沒(méi)時(shí)間琢磨了
air[,list(Ozone,Wind, Temp ,Month, Day,Value= Ozone/Wind)]
setkey(air,Month)
#solar <- air[c(6,7),list(Month,Day,Solar.R)]不知道為什么不可以
solar <- air[Month %in% c(6,7),list(Month,Day,Solar.R)]
#
setkey(air,Month,Day,Solar.R)
setkey(solar,Month,Day,Solar.R)
nData <- merge(air,solar,all.x =TRUE,fill = T)
#
nData[,median(Ozone,na.rm = T),by = Month]
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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