R语言入门

本文介绍了R语言中向量的生成、基本操作,包括逻辑型数据、数据类型判断、转换,以及错误处理方法。还详细讲解了数据类型如数值型、字符型和逻辑型的使用,以及向量的组合、比较、统计和图形绘制等内容。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

R基础笔记向量的生成和操作


总结:
在这里插入图片描述

  • 新建project以及New Blank File 如下图在这里插入图片描述
  • 基础tips:()前一定时函数
  • 基础快捷键 重启:session-restare run:ctrl+enter
  • 解决R语言运行时error的解决方法 如下图
  • 1、主要看error后面的信息 查代码是否拼写错误 error:function 说明函数错误(可能函数拼写错误) error:unexpect 说明代码拼写有误
    2、查看环境数据 即数据是否在
    3、重新run
    +:表示命令不完整 可以按esc退出 在加号后
  • 脚本打开是乱码 如下图
    在这里插入图片描述

数据类型

  • 逻辑型数据 一般是用来判断两个元素的关系 以及多个逻辑运算的连接 与和或
3!=5 #>,<,<=,>=,==,!=(!表示非)
3<5 & 3>5 #and
3<5 | 3>5 #or
  • 数据类型:判断数据类型class() 字符型>数值型>逻辑型
x=c(1);class(x) #数值型"numeric"
x=c("1");class(x) #字符型"character"
x=c(T);class(x) #逻辑性"logical"
  • 数据类型的判断 is.numeric()和转换as.numeric() 用在判断新的数据是什么类型
x=c(1);is.numeric(x) #判断is.numeric(x) is.character(x) is.logical(x)
x=c("1");as.numeric(x) #转换as.numeric(x) as.character(x) as.logical(x)

向量的生成

  • 基础向量
c(2,5,6,2,9) #用c() 放到一起
1:5  #连续数字用:
rep('x',times=3) #重复用rep(),有规律序列用seq(),随机数用rnorm()
rep(c("a","b"),each = 3) #[1] "a" "a" "a" "b" "b" "b"
rep(c("a","b"),times = c(1,2)) #[1] "a" "b" "b"
seq(from=1,to=5,by=3) #[1] 1 4
rnorm(3)#[1]  1.6 25 -0.1
  • 组合向量的生成
paste0(rep('x',times=3),1:3)#"x1" "x2" "x3" 可简写
paste0(rep("x",3),1:3)
paste(rep("x",times = 3),1:3,sep='$')#[1] "x$1" "x$2" "x$3" 
  • 对单个向量进行操作 赋值 简单计算(比较运算 统计数据)
x<-c(1,3,8);x #赋值<- or = 注意变量名称不可用特殊字符
x+1 #[1] 2 4 9
log(x) #[1] 0.000000 1.098612 2.079442
sqrt(x) #[1] 1.000000 1.732051 2.828427
x <- c(1,3,5);x>3 #比较运算
x <- c(1,3,5);x==3 #比较运算
x <- c(1,3,5,1) #初级统计
max(x) #初级统计最大值
min(x) #最小值
mean(x) #均值
median(x) #中位数
var(x) #方差
sd(x) #标准差
sum(x) #总和
length(x) #长度
unique(x) #去重复 [1] 1 3 5
duplicated(x) #判断对应元素是否重复[1] FALSE FALSE FALSE  TRUE
table(x) #重复值统计
sort(x) #排序
sort(x,decreasing = F)
sort(x,decreasing = T)
  • 对两个向量的操作 #主要思想等位运算 长度不一致会循环补齐
x = c(1,3,5,1)
y = c(3,2,5,6)
x == y #[1] FALSE FALSE  TRUE FALSE
y == x #[1] FALSE FALSE  TRUE FALSE
x + y #[1]  4  5 10  7 加成
paste0(x,y)         #paste与paste0的区别 [1] "13" "32" "55" "16"paste0的本质是组合
paste(x,y)          #[1] "1 3" "3 2" "5 5" "1 6"
paste(x,y,sep="*")  # 连接 [1]"1*3" "3*2" "5*5" "1*6"

8.对两个向量的操作 #主要思想等位运算 长度不一致会循环补齐 如下图

x = c(1,3,5,1)
y = c(3,2)
x == y #[1] FALSE FALSE FALSE FALSE
paste0(rep("x",3),1:3) 
paste0("x",1:3) #利用循环补齐简化代码
x = c(1,3,5,1)
y = c(3,2,5,6)

在这里插入图片描述
9.对两个向量的操作 #主要思想两个向量元素交集并集差集%in%

intersect(x,y) #取交集,使用频率很高
union(x,y) #取并集,自动去重复
setdiff(x,y) #取差集,在x中有,在y中没有
setdiff(y,x) #取差集,在y中有,在x中没有
x %in% y  #x的每个元素在y中存在吗[1] FALSE  TRUE  TRUE FALSE 区别于==
  • 对向量的操作之筛选 #主要思想[]内根据逻辑值给出内容 如下图
x <- 8:12 
x[x == 10] # [1] 10
x[x < 12] # [1]  8  9 10 11
x[x %in% c(9,13)] # [1] 9

在这里插入图片描述

  • 对向量的操作之筛选 #主要思想[]内根据位置给出内容提取子集 如下图
x <- 8:12
x[4]# [1] 11
x[2:4]# [1]  9 10 11
x[c(1,5)]# [1]  8 12
x[-4]#反选 [1]  8  9 10 12
x[-(2:4)]# [1]  8 12
x=c(1,2,3,4,1,2,3,8,9,2,4,5)#从一堆元素中挑选出特定的元素
y=c(1,3)
x[x %in% y]#利用思想根据搭建逻辑值筛选内容

在这里插入图片描述

  • 修改向量中的某个/某些元素
x=c(1,2,3,4)
x[x>3];x #挑出x>3,但x仍没变因为没有赋值主要思想:R语言的修改都要赋值,没有赋值就没有发生。
x=x[x>3];x
x=c(1,2,3,4)
x[3] <- 10;x #改一个元素[1]  1  2 10  4 同时赋值
x[c(1,4)] <- c(20,50);x#改多个元素,同时赋值
  • 简单的向量作图
k1 = rnorm(12);k1
k2 = rep(c("a","b","c","d"),each = 3);k2 #rep的两个参数:'each''times'
plot(k1)
boxplot(k1~k2)   ##k1纵坐标,k2横坐标

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值