本章要点
- R储存缺失值和日期的方式; 处理缺失值和日期的方式
- 对象的数据类型;转换数据类型;(控制流if-then结合is.datatype使用)
- 使用简单公式创建新变量;重编码现有变量
- 数据排序;变量重命名;合并数据及数据集
- 变量的保留与丢弃
题目
- 从下列选项选择对应:NA(), NaN(), Inf(), -Inf(), NULL()
A. Not Available B.负无穷 C.未定义 D.正无穷 E.Not a number - 下列哪个函数用于识别R对象中的缺失值()
A.is.na()
B.is.nan()
C.is.infinite()
D.na.omit()
- 在R语言里面运行以下代码并回答问题:
a. %m, %d, %Y 的含义是什么?strData <- c("10/01/2018", "10/07/2018") dates <- as.Date(strData, "%m/%d/%Y")
b. 日期值的默认输入格式是什么?
c. 用什么函数可以将对应日期转换成默认格式的字符型数据? - 在R语言里面运行以下代码并回答问题:
a. %B, %b的区别是什么?today <- Sys.Date() format(today, format = "%B %d %Y") format(today, format = "%b %d %y") format(today, format = %A) format(today, format = %a)
b. %Y, %y的区别是什么?
c. %A, %a的区别是什么?
d. format()函数的作用是什么?
5.日期值上的计算:阅读如下引用并在R语言里面运行随后的代码并回答问题:
R内部在存储日期时,是使用1970年1月1日以来的天数表示的,更早的日 期则表示为负数。(R语言实战 第二版 77页)
startdate <- as.Date("2018-10-01")
enddate <- as.Date("2018-10-08")
days <- enddate - startdate
days
a.解释days
- 在R语言里面运行以下代码并写出解答问题的语句:
manager <- c("180701", "180702", "180703", "180704", "180705")
date <- c("10/24/08", "10/28/08", "10/1/08", "10/12/08", "5/1/09")
country <- c("US", "US", "UK", "UK", "UK")
gender <- c("M", "F", "F", "M", "F")
age <- c(32, 45, 25, 39, 99)
q1 <- c(5, 3, 3, 3, 2)
q2 <- c(4, 5, 5, 3, 2)
q3 <- c(5, 2, 5, 4, 1)
q4 <- c(5, 5, 5, NA, 2)
q5 <- c(5, 5, 2, NA, 1)
base_infor <- data.frame(manager, date, country, gender, age,
stringsAsFactors=FALSE)
test_infor <- data.frame(manager, q1, q2, q3, q4, q5,
stringsAsFactors=FALSE)
a. 使用merge()
函数合并数据框数据集base_infor
和test_infor
并将其保存在数据框数据集leadership
;
b. 基于数据集leadership
,在新数据集中各行依女性到男性、同样性别中按年龄升序排序;
c. 从数据集leadership
中选择变量q1
、q2
、q3
并将他们保存在新数据框newdata
中;
d. 从数据集leadership
中剔除变量q1
、q2
、q3
并将剔除后的结果保存在新数据框newdata
中;
e. 使用subset()
函数选择所有age大于等于40或age值小于35的行,并保留q1
到q3
行;