一些方便的功能操作data.frames是subset(),transform(),with()和within()。
该subset()函数允许您以data.frame更方便的方式对a进行子集设置(子集也可与其他类一起使用):
subset(mtcars, subset = cyl == 6, select = c("mpg", "hp")) mpg hp Mazda RX4 21.0 110 Mazda RX4 Wag 21.0 110 Hornet 4 Drive 21.4 110 Valiant 18.1 105 Merc 280 19.2 123 Merc 280C 17.8 123 Ferrari Dino 19.7 175
在上面的代码中,我们仅询问其中的行cyl == 6以及列mpg和hp。使用[]以下代码可以达到相同的结果:
mtcars[mtcars$cyl == 6, c("mpg", "hp")]
该transform()函数是方便的函数,用于更改内的列data.frame。例如,以下代码将另一列以mpg2的结果命名mpg^2为mtcars data.frame:
mtcars <- transform(mtcars, mpg2 = mpg^2)
双方with()并within()让你计算表达式内部data.frame环境,允许有些更清晰的语法,节约了您的使用一些$或[]。
例如,如果要创建,更改和/或删除以下内容中的多个列airquality data.frame:
aq <- within(airquality, { lOzone <- log(Ozone) # creates new column Month <- factor(month.abb[Month]) # changes Month Column cTemp <- round((Temp - 32) * 5/9, 1) # creates new column S.cT<-Solar.R/ cTemp # creates new column rm(Day, Temp) # removes columns })