2-1到2-6的代码

来源:2-6 R语言基础 缺失值

蓝心门

2018-10-17 18:18

#2-1 R的五中数据类型character,numeric,integer,logical,complex


x1 <- "asdf"   #字符型

x2 <- "3.14"   #数值型

x3 <- 2L       #整数型

x4 <- TRUE     #逻辑型

x5 <- 1-2i     #复数型


class(x1)      #查看数据的类型




#2-2 Vector 向量的三种创建方法,两个参数:类型,长度

v1 <- vector("character", length = 10)    #第一次回顾出错:v1 <- vector(1:12,nrow=3,ncol=4)

v2 <- 1:5                                 #出现1到5的整数

v3 <- c("1", "2", "3")                    #出现字符1到3


#如果给向量赋值时元素类型不一致,R就会强制转换,将他们变为同一类型

v4 <- c(TRUE, 1, "asdf")


#强制转换的函数如下:

as.numeric(v3)                            

as.logical(v3)

as.character(v3)


#给向量每一个元素添加名称

names(v2) <- c("a", "b","c", "d", "e")    




#2-3 matrix 矩阵 三个参数:内容(可省),行数,列数

m1 <- matrix(1:12, nrow = 2, ncol = 3)     #matrix 矩阵有三个参数,第一个是内容,第二个,第三个是行列


#维度属性

dim(m1)


#查看矩阵的所有属性

attributes(m1)


#由向量来创建矩阵的方法

m2 <- 1:6

dim(m2) <- c(2,3)


#将两个矩阵按行拼接

rbind(m1, m2)


#将两个矩阵按列拼接

cbind(m1, m2)


#使用列表给矩阵的行列命名

dimnames(m1) <- list(c("a", "b"),c("c", "d", "e"))




#array 数组,两个参数:内容和维度

a1 <- array(1:24, dim = c(4,6))

a2 <- array(1:24, dim = c(2,3,4) )




#2-4 list 列表

l1 <- list(123, 10L, "asdf", 3+4i, TRUE)    #每个元素没有名字

l2 <- list(a=1, b=2, c=3)                   #列表中每个元素名字分别为abc


#生成一个列表,列表中每一个元素大于1

l3 <- list(c(1,2,3), c(4,5,6,7))




#2-5 factor 因子处理分类数据的,有序或者无序,有两个参数:内容,基线水平

f1 <- factor(c("female", "female", "male", "female", "male"))


f2 <- factor(c("female", "female", "male", "female", "male"), levels = c("male", "female"))


#table 对于当前的因子有一个整体的了解

table(f1)


#去掉因子的属性,看因子的内容

unclass(f2)

class(f2)                     #上一步并未去掉因子的属性,f2仍然为因子类型

class(unclass(f2))            #去掉因子的属性,因子变为整型




# 2-6 missing value 缺失值NA和NaN,NA范围大,NaN范围小。NA有类型,可以是整数值的缺失,也可以是字符的缺失。

n1 <- c(1, NA, 2, NA, 3)      #NaN不能识别NA

is.na(n1)

is.nan(n1)


n2 <- c(1, NaN, 2, NaN, 3)    #NA可以识别NaN

is.na(n2)

is.nan(n2)

写回答 关注

1回答

  • 慕桂英5061839
    2019-05-10 21:56:11

    好棒好棒

R语言基础

本R语言基础教程,教你如何在R中操纵自己数据,快速入门

79821 学习 · 274 问题

查看课程

相似问题