[R语言实战笔记] 第4章 基本数据管理

4.10 数据集取子集

对变量或观测进行保留或删除。

4.10.1 选入(保留)变量

从一个大数据集中选择有限数量第变量创建一个新的数据集。dataframe[row indices, column indices]
newdata <-leadership[, c(6:10)]
paste()函数创建字符型向量。

myvars <- paste("q"), 1:5, sep = "")
newdata <- leadership[myvars]

4.10.2 剔除(丢弃)变量

剔除变量原因很多。比如,某个变量有缺失值。

# 剔除变量q3和q4。
myvars <- names(leadership) %in% c("q3", "q4") # %in%返回一个逻辑型向量
newdata <- leadership[!myvars] # 运算符(!)将逻辑值反转
newdata <- leadership[c(-8, -9)]
leadership$q3 <- leadership$q4 <- NULL

丢弃变量是保留变量的逆向操作。

4.10.3 选入观测

选入或剔除观测(行)通常是成功的数据准备和数据分析的一个关键方面。

newdata <- leadership[1:3,] # 取前三行
newdata <- leadership[leadership$gender == "M" & leadership$age > 30, ] # 选择所有30岁以上的男性

attach(leadership)
newdata <- leadership[gender == "M" & age > 30, ] 
detach(leadership)

对日期进行操作

leadership$date <- as.Date(leadership$date, "%m%d%y") # 将字符值转换为日期值
startdate <- as.Date("2009-01-01")
enddate <- as.Date("2009-10-31")
newdata <- leadership[which(leadership$date >= startdate & leadership$date <= enddate), ]

4.10.4 subset()函数

使用subset()函数大概是选择变量和观测最简单的方法了。

newdata <- subset(leadership, age >= 35 | age < 24, select  = c(q1, q2, q3, q4)) # 选择所有age值大于等于35或小于24的行,保留变量q1到q4
newdata <- subset(leadership, gender == "M" & age > 25, select  = gender:q4)

4.10.5 随机抽样

sample()函数可以从数据集中(有放回和无放回)抽取大小为n的一个随机样本。抽取和校正调查样本(sampling包),分析复杂调查数据(survey包)

mysample <- leadership[sample(1:nrow(leadership), 3, replace = F), ]

4.11 使用SQL语句操作数据框

4.12 小结

存储和处理缺失值和日期值的方式;
确定和转换对象的数据类型;
创建新变量和重编码;
数据排序,变量重命名;
合并数据,保留和丢弃变量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。