R语言学习笔记(一) ---创建R语言数据集

  R是一种用于数据处理和统计分析的脚本语言。

 

今天简单练习了R语言的各种数据集包括向量、矩阵、数组和数据框创建及使用。


1.向量

(1)向量是用于存储数值型、字符型或逻辑型数据的一维数组
(2)如何用R语言创建向量呢?
字符型: >(输入) a <- c('h','e','l','l','o')
         > a
得到结果:[1] "h" "e" "l" "l" "o"
数值型: > b <-c(1,2,3)
         > b
得到结果:[1] 1 2 3
逻辑型:> c <- c(TRUE,FALSE,TRUE)
        > c
得到结果:[1]  TRUE FALSE  TRUE


2.矩阵

(1)矩阵是二维数组,每个元素都模式相同(数值型、字符型或逻辑型)可通过函数matrix创建矩阵
(2)如何用R语言创建矩阵呢?
> (输入) y <- matrix(1:20,nrow=5,ncol=4)
> y
得到结果:
      [,1] [,2] [,3] [,4]
[1,]    1    6   11   16
[2,]    2    7   12   17
[3,]    3    8   13   18
[4,]    4    9   14   19
[5,]    5   10   15   20
可通过>(输入) matrix查看函数
(3)通过此方式将矩阵赋值
>y<-matrix(c(1,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,4,4,4,4),nrow=5,ncol=4)
> y
得到结果:  
      [,1] [,2] [,3] [,4]
[1,]    1    2    4    4
[2,]    2    2    4    4
[3,]    2    2    4    4
[4,]    2    2    4    4
[5,]    2    2    4    4
默认矩阵按列输出数据,可以用如下方式更改按行输出
> y <-matrix(1:20,ncol=5,nrow=4,byrow = TRUE)
> y
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    2    3    4    5
[2,]    6    7    8    9   10
[3,]   11   12   13   14   15
[4,]   16   17   18   19   20
 (4)如何加矩阵维度标签?
行命名:> rownames(y) <- LETTERS[1:4]
        > y
  [,1] [,2] [,3] [,4] [,5]
A    1    2    3    4    5
B    6    7    8    9   10
C   11   12   13   14   15
D   16   17   18   19   20
列命名:> colnames(y) <- c("x","Y","doc","Bear","q")
        > y
   x  Y doc Bear  q
A  1  2   3    4  5
B  6  7   8    9 10
C 11 12  13   14 15
D 16 17  18   19 20


3.数组

 (1)如何用R语言创建数组呢?
 创建三维 (2×3×4)数值型数组:
> z <- array(1:24, c(2,3,4))
> z
得到如下结果:
, , 1


     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6


, , 2


     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12


, , 3


     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18


, , 4


     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24
提取数据> z[2,1:3,1]
得到结果:[1] 2 4 6
 (2)为列命名得到如下结果:
> colnames(z) <- c("x","Y","doc")
> z
, , 1


     x Y doc
[1,] 1 3   5
[2,] 2 4   6


, , 2


     x  Y doc
[1,] 7  9  11
[2,] 8 10  12


, , 3


      x  Y doc
[1,] 13 15  17
[2,] 14 16  18


, , 4


      x  Y doc
[1,] 19 21  23
[2,] 20 22  24

 (3)为列命名得到如下结果:
> rownames(z) <- LETTERS[1:2]
> z
, , 1


  x Y doc
A 1 3   5
B 2 4   6


, , 2


  x  Y doc
A 7  9  11
B 8 10  12


, , 3


   x  Y doc
A 13 15  17
B 14 16  18


, , 4


   x  Y doc
A 19 21  23

B 20 22  24


4.数据框
(1)数据框可以不同的列包含不同模式(数值型、字符型等)的数据,是在R中常处理的数据结构。 
(2)如何用R语言创建数组呢?
> patientID <- c(1,2,3)
> age <-c(23,45,12)
> status <-c("good","good","poor")
> patientdata <- data.frame(patientID,age,status)
> patientdata
得到结果:
patientID age status
1         1  23   good
2         2  45   good
3         3  12   poor


进行一系列数据操作,如下:

> patientdata[,1]

[1] 1 2 3
> patientdata$age
[1] 23 45 12
> patientdata$status
[1] good good poor
Levels: good poor
> table(patientdata$age,patientdata$status)
    
     good poor
  12    0    1
  23    1    0
  45    1    0
> x <- factor(c(1, 2, NA), exclude = NULL)
> x
[1] 1    2    <NA>
Levels: 1 2 <NA>
>  a <- c(1,2,3)
> is.array(a)
[1] FALSE
> is.factor(a)
[1] FALSE
> is.vector(a)
[1] TRUE
> class(a)
[1] "numeric"
> typeof(a)
[1] "double"
> length(a)
[1] 3
> str(a)
 num [1:3] 1 2 3
> summary(a)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    1.0     1.5     2.0     2.0     2.5     3.0


































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值