1.类型转换
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()这样的函数返回TRUE或FALSE, 而as.datatype()这样的函数则将其参数转换为对应的类型。
> a <- c(1,2,3)
> a
[1] 1 2 3
> is.numeric(a)
[1] TRUE
> is.vector(a)
[1] TRUE
> a <- as.character(a)
> a
[1] "1" "2" "3"
> is.numeric(a)
[1] FALSE
> is.vector(a)
[1] TRUE
> is.character(a)
[1] TRUE
2.数据排序
在R中,可以使用order()函数对一个数据框进行排序,默认的排序顺序是升序,在排序变量的前边加一个减号即可得到降序的排序结果。
>newdata <- leadership[order(leadership$age),]
#创建了一个新的数据集,其中各行依经理人的年龄升序排序
各行依女性到男性、同样性别中按年龄升序排序
>attach(leadership)
>newdata <- leadership[order(gender, age),]
attach(leadership)
newdata <-leadership[order(gender, -age),]
>detach(leadership)
各行依女性到男性、同样性别中按年龄降序排序(变量前加“-”号)
>attach(leadership)
>newdata <-leadership[order(gender, -age),]
>detach(leadership)
3.数据集操作
数据集合并
横向合并两个数据框(数据集) ,请使用merge()函数。在多数情况下,两个数据框是通过一个或多个共有变量进行联结的(即一种内联结,inner join) 。
>total <- merge(dataframeA, dataframeB, by="ID")
#将dataframeA和dataframeB按照ID进行了合并
>total <- merge(dataframeA, dataframeB, by=c("ID","Country"))
#将两个数据框按照ID和Country进行了合并。
若是不需要公共索引,可以通过cbind()函数直接进行横向合并两个矩阵或者数据框,为了让它正常工作,每个对象必须拥有相同的行数,以同顺序排序。
>total <- cbind(A, B)
数据集取子集
数据框中的元素是通过dataframe[row indices, column indices]的记号来访问的,截取dataframeA中的第3到6个变量数据存储到newdata中
>newdata<-dataframeA[,c(3:6)]
特别注明:本文属于R语言学习笔记,不以盈利为目的,纯手工码字不容易,若整理的笔记中,对您有所助益,麻烦点个赞或者收藏,万分感谢!如有构成侵权的地方,请联系作者删除,谢谢合作!