《R语言实战》学习笔记---Chapter4(2) 基础数据管理
2023-08-09 本文已影响0人
RSP小白之路
《R语言实战》我有电子版的书,且乐于分享给你,你自己捡感兴趣的看就好。
直接开始看第4章吧。
1. 一个例子
后面的函数操作都是在这个数据集上进行的,所以需要先把这些代码在RStudio中运行,产生所需要的数据框。
manager <- c(1, 2, 3, 4, 5)
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)
leadership <- data.frame(manager, date, country, gender, age,
q1, q2, q3, q4, q5, stringsAsFactors=FALSE)
print(leadership )
表单示例结果
4. 变量重命名
可以使用fix()函数进行交互式地操作,但日常使用中主要还是使用的编程方式,以下内容主要说明使用编程方式进行重命名。
通过函数names进行重命名
- 通过names函数查看数据框各变量名;
names(leadership)
- 重命名date为testDate
names(leadership)[2] <- "testDate"
names(leadership)
[1] "manager" "testDate" "country" "gender" "age" "q1"
[7] "q2" "q3" "q4" "q5"
names(leadership)
是产生了一个R对象,可以看到是个向量,取这个向量对象的第2个元素。
> str(names(leadership))
chr [1:10] "manager" "testDate" "country" "gender" "age" "q1" "q2" ...
> class(names(leadership))
[1] "character"
> mode(names(leadership))
[1] "character"
- 以类似方式修改重命名q1至q5为item1到item5。
names(leadership)[6:10] <- c("item1", "item2", "item3", "item4", "item5")
names(leadership)
[1] "manager" "testDate" "country" "gender" "age" "item1"
[7] "item2" "item3" "item4" "item5"
通过dplyr包中函数rename进行重命名
需要先安装dplyr
包(目前已经更名为dplyr包,整合在tidyverse数据处理包集合中),使用语句install.packages("dplyr")
或者install.packages("tidyverse")
进行安装,然后使用下列语句进行重命名。
rename(dataframe, c(oldname="newname", oldname="newname",...))
- 使用
rename
重命名上面例子。
library(dplyr)
leadership <- rename(leadership,
c(manager="managerID", date="testDate"))