R语言学习笔记

《R语言实战》学习笔记---Chapter4(5) 基础数据管理

2023-08-12  本文已影响0人  RSP小白之路

类型转换

R中提供了一系列用来判断某个对象的数据类型和将其转换为另一种数据类型的函数。

判断 转换
is.numeric() as.numeric()
is.character() as.character()
is.vector() as.vector()
is.matrix() as.matrix()
is.data.frame() as.data.frame()
is.factor() as.factor()
is.logical() as.logical()

is.datatype() 这样的函数返回TRUEFALSE ,而as.datatype() 这样的函数则将其参数转换为对应的类型
is.datatype()这样的函数将是强大的工具,和控制流结合使用时,允许根据具体数据类型以不同方式处理数据。
as.datatype() 函数可以让你在分析之前先行将数据转换为要求的格式

数据排序order函数

在R中, 可以使用order() 函数对一个数据框进行排序。默认的排序顺序是升序。 在排序变量的前边加一个减号即可得到降序的排序结果。

依然以管理者服从度信息数据为例进行数据集排序的说明。

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 )
  manager     date country gender age q1 q2 q3 q4 q5
1       1 10/24/08      US      M  32  5  4  5  5  5
2       2 10/28/08      US      F  45  3  5  2  5  5
3       3  10/1/08      UK      F  25  3  5  5  5  2
4       4 10/12/08      UK      M  39  3  3  4 NA NA
5       5   5/1/09      UK      F  99  2  2  1  2  1
newdata1 <- leadership[ order(leadership$age),]
> print(newdata1 )
  manager     date country gender age q1 q2 q3 q4 q5
3       3  10/1/08      UK      F  25  3  5  5  5  2
1       1 10/24/08      US      M  32  5  4  5  5  5
4       4 10/12/08      UK      M  39  3  3  4 NA NA
2       2 10/28/08      US      F  45  3  5  2  5  5
5       5   5/1/09      UK      F  99  2  2  1  2  1
attach(leadership)
newdata2 <- leadership[order(gender, age),]
detach(leadership)
> print(newdata2)
  manager     date country gender age q1 q2 q3 q4 q5
3       3  10/1/08      UK      F  25  3  5  5  5  2
2       2 10/28/08      US      F  45  3  5  2  5  5
5       5   5/1/09      UK      F  99  2  2  1  2  1
1       1 10/24/08      US      M  32  5  4  5  5  5
4       4 10/12/08      UK      M  39  3  3  4 NA NA
attach(leadership)
newdata2 <- leadership[order(gender, -age),]
detach(leadership)
> print(newdata2)
  manager     date country gender age q1 q2 q3 q4 q5
5       5   5/1/09      UK      F  99  2  2  1  2  1
2       2 10/28/08      US      F  45  3  5  2  5  5
3       3  10/1/08      UK      F  25  3  5  5  5  2
4       4 10/12/08      UK      M  39  3  3  4 NA NA
1       1 10/24/08      US      M  32  5  4  5  5  5
上一篇下一篇

猜你喜欢

热点阅读