R海拾遗--data.table初级学习

2020-09-15 12:26:14 浏览数 (1)

data.table初级学习

概述

data.table对于大数据的数据整理较为便捷,很多的时候比data.frame效率更高,一般情况下结合管道符号进行计算

管道符

  • %in% 表示包含
  • %>% 表示向右传递
  • %$% 表示向右传递并直接按列操作

安装

代码语言:javascript复制
install.packages("data.table")
install.packages("magrittr")
library(magrittr)
library(data.table)

使用方法

  • 简单操作
代码语言:javascript复制
iris<-iris %>% 
  as.data.table()

class(iris)
# 行数
nrow(iris)
# 列数
ncol(iris)
# 列名
names(iris)
# 选取列
iris[ , Species] # 返回一组向量
iris[ , .(Species)] #返回一个data.table
iris[, c("Species"), with=FALSE] #返回一组数据框
# 保留多列
iris[, .(Sepal.Length, Sepal.Width, Species)]
# 对变量进行重命名
setnames(iris, c("Species"), c("new_Species"))
# 对多个变量进行重命名
# 第一个c()对应原始变量名
# 第二个c()对应新变量名
setnames(iris, c("Species","Petal.Width"), c("new_Species","new_Petal.Width"))
# 子集的筛选与过滤
iris[Species == "setosa"]
# 设置索引提升效率
# setkey()函数可以在数据集上设置键值。置好key后,data.table会将数据按照key来排序
setkey(iris, Species)
iris[c("setosa", "virginica")]

结束语

来不及解释,时间来不及了,今天就简单这样吧,总体来说,data.table比data.frame更加简洁,运行更加迅速。

0 人点赞