好多函數(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]