R语言学习笔记DAY1

对象的保持与清除

R所创建、操作的实体都是对象,对象可以使变量、数组、字符串、函数以及这些这些元素组成的其他结构。

可以使用objects()显示目前R中存储的所有对象名称。当前存储的所有对象组合称为workspace。

> objects()
[1] "Distance" "Speed" 

清除对象可以使用rm()命令

> rm(Speed)#清除指定对象,多个用“,”隔开
> objects()
[1] "Distance"
> rm(list=ls())#清除当前工作空间中的所有对象
> objects()
character(0)

在每一个R任务结束后,用户都有机会将任务中的操作对象永久保存,如果用户选择保存,那么对象将会被存储在一个.RData的文件中,则这些对象可以在R重启后再次被载入到workspace中 ,相关命令记录也将被载入。所以推荐大家在使用R做不同分析的时候,使用不同的工作目录。

数据类型

基本数据类型
数值型(numeric)

1,1.2,3.1415926

复数型(complex)

1+2i

字符型(character)

‘A’/ “hello world!”

逻辑型(logical)

true/false

数据对象

向量(vector)

矩阵(matrix) 

数组(array)是向量在多维情况下的一般形式。

数据框(data frame)  是一种与矩阵相似的结构,其中的列可以是不同的数据类型。可以把数据框看作一种数据"矩阵",它的每行是一个观测单位(case),而且(可能)同时包含数值型和分类的变量。

因子(factors) 提供了一种处理分类数据的更简的方式。

列表(list):是一些对象的集合,它是R中较复杂的数据形式,一个列表中可以包含若干向量、矩阵,数据框等。

函数( function):能够在R的workspace中存储的对象可以通过函数来扩展R的功能。

向量

向量赋值

> 1:10 #产生1到10的递增序列
 [1]  1  2  3  4  5  6  7  8  9 10
> seq(from=1,to=10,by=1)#seq()函数也可以生成序列
 [1]  1  2  3  4  5  6  7  8  9 10
> 1:10+1
 [1]  2  3  4  5  6  7  8  9 10 11
> 1:10*2+1
 [1]  3  5  7  9 11 13 15 17 19 21
> a<-1:10*2+1 #变量a用于保存序列
> a
 [1]  3  5  7  9 11 13 15 17 19 21
> a[a<5]
[1] 3
> a[1:3]
[1] 3 5 7
> a[c(1,2)]
[1] 3 5
#生成向量x1 x2
> x1<-c(1:5)
> x2<-c(2,4,6,8)
> x1;x2
[1] 1 2 3 4 5
[1] 2 4 6 8
> 1/x1 #打印倒数
[1] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000

向量运算

> cbind(x1,x2)
     x1 x2
[1,]  1  2
[2,]  2  4
[3,]  3  6
[4,]  4  8
[5,]  5 10
> y1<-cbind(x1,x2)
> y1[1,]
x1 x2 
 1  2 
> y1[x1]
[1] 1 2 3 4 5
> View(y1)
> y2<-rbind(x1,x2)

 View(y1)可以看到,其中需要注意x1和 x2的元素个数需要相同。

> x3<-c(1:50)
> mode(x3)
[1] "numeric"
> sum(x3)#求和
[1] 1275
> max(x3)
[1] 50
> min(x3)
[1] 1
> length(x3)#x3的长度
[1] 50
> prod(x3)#乘积
[1] 3.041409e+64
> mean(x3);var(x3)#均值和方差
[1] 25.5
[1] 212.5
> x1;x2;pmax(x1,x2)
[1] 1 2 3 4 5
[1]  2  4  6  8 10
[1]  2  4  6  8 10
> x1;x2;pmin(x1,x2)
[1] 1 2 3 4 5
[1]  2  4  6  8 10
[1] 1 2 3 4 5
> sort(x1)
[1] 1 2 3 4 5
> sort(x1,decreasing=T)
[1] 5 4 3 2 1

逻辑向量

逻辑向量的元素可以是TRUE、FALSE或NA(no available),为避免被用户定义的变量覆盖,最好不要用简写T/F。

> x1;temp<-x1>3 #逻辑操作符包括<, <=, >, >=,完全相等==和不等于!=,与或非分别为&, |, !
[1] 1 2 3 4 5
> temp
[1] FALSE FALSE FALSE  TRUE  TRUE

字符向量 

> s1<-c("a","b","c","d")
> s1
[1] "a" "b" "c" "d"
> s2<-paste(c("a","b"),1:10,sep=";")
> s2
 [1] "a;1"  "b;2"  "a;3"  "b;4"  "a;5"  "b;6"  "a;7" 
 [8] "b;8"  "a;9"  "b;10"

 which()函数

which()函数可以显示符合条件的元素的索引。

> x4<-c(2,3,5,8,1,9,0,2,3,2)
> x4
 [1] 2 3 5 8 1 9 0 2 3 2
> which(x4==2)
[1]  1  8 10
> which(x4<4 & x4>2)
[1] 2 9

runif()函数 

runif()函数随机产生0~1之间的数,不含边界。

runif(n,min=0,max=1)

> x5<-runif(5,min=1,max=10)
> x5
[1] 3.507915 6.188848 9.554100 1.779592 5.157316

 rev()函数

rev()函数可以实现向量或矩阵的翻转。

> x1;rev(x1)#实现向量的翻转
[1] 1 2 3 4 5
[1] 5 4 3 2 1

 

 

 

 

 

  

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值