R数据分析的基础命令

简单介绍一些自己刚学习的R语言功能

大三新学期学习一些新的R语言编程,首先要介绍一下R语言。
R语言是一种开源的,与Python一样的解释型语言,注意他不是像java那种的编程型语言。

基本命令

将包名代替*处:

函数功能
getwed()查看当前文档所在地
library()显示已安装的包的列表
library("*")加载这个包
search()显示已加载的包的列表
install.packages()下载包
detach(“packages:*”)移除包
remove.packages("*")卸载包
letters输出26个英文字母
length()计算长度
sample()随机抽取
which()返回下标

基本的数据类型

类型说明判断函数R语言形式
逻辑型表示逻辑值的二值数据,只有TRUE或 FALSE两个取值。在R中,逻辑表达式 的赋值会得到逻辑型数据,例如比较 两个数的大小2>1等于TRUEis.logocal()TRUE , 2 <= 1
浮点型用十进制表示的实数,如1,1.1等, 是用于计算的基本数据形式is.double ()3.14
整数型用于描述整数,如1,2,3。需要注意 的是,在R语言中,在整数后加上字符 L才代表整型数,否则会被视为浮点is.integer()3L
字符型用于表示一个字符串is.character ()“Hello”,“3.14”
复数型用于表示复数值,其中虚部用i表示, 例如2+3iis.complex ()1+i
原始型用于保存原始的字节,其中每个字节 用两个十六进制数表示,例如A3is.raw ()00

数据类型的转换

数据类型转换

运算符

在这里插入图片描述

代码展示

// An highlighted block
#基本数据类型
num <- 100; num
is.integer(num)
is.double(num)
typeof(num)
num2 <-100L
typeof(num2)

is.logical(TRUE)
is.logical(T)
is.logical(5)#判断是否是逻辑型
is.logical(0)#非0的逻辑型均为True

is.character("R program")

as.numeric(F)
as.logical(10)
as.logical(-10)
as.logical("T")
as.logical("F")
as.character(c(T,F,TRUE,FALSE))

三种特殊值

特殊值解释
NA缺失值(not available )
NaN无意义的值(not a number )
NULL空数据
Inf无穷大

代码展示

a <- 100
a[1] #?
a[2] #?
num_vec <-c(1,2)
length(num_vec) <- 4 
num_vec

10/0
-10/0
#NaN not a number ,无意义的值
0/0
Inf - Inf
#NULL 空数据
num_vec1 <- c(1,5,NaN)
length(num_vec1)
num_vec2 <- c(1,5,NULL)
length(num_vec2)

逻辑运算符

#逻辑运算符与 & vs &&
logi_vec1 <- c(T,F,T)
logi_vec2 <- c(F,T,T)
logi_vec1 & logi_vec2 #前后都需要判断   
logi_vec1 && logi_vec2 #只有前面判断

logi_vec1 <- c(T,F,T)#向量长度不同,短的循环补齐
logi_vec2 <- c(F,T,T,F)
logi_vec1 & logi_vec2 
logi_vec1 && logi_vec2 

logi_vec1 <- c(T,F,T)#向量长度不同,短的循环补齐
logi_vec2 <- c(F,T,T,T,T,T)
logi_vec1 & logi_vec2 

logi_vec1 <- c(T,F,T,T,F,T)
logi_vec2 <- c(F,T,T,T,T,T)
logi_vec1 & logi_vec2 
#逻辑运算或 | vs ||   
logi_vec1 <- c(T,F,T)
logi_vec2 <- c(F,T,T)
logi_vec1 | logi_vec2#前后都判断
logi_vec1 || logi_vec2#只判断前

向量

vec <-c(2,3,4)
#访问元素
vec[1]
vec[0]#numericp(0)
vec[2:3]
vec[2:5]
#添加元素
vec
vec <-c(vec[1:2],10,vec[3])  #输出前两个,在第三个放入10
vec
#删除元素
vec
vec <- vec[-3]
vec
#获取向量长度
letters
vec <-letters
vec
length(vec)
vec[-length(vec)]
vec[-length(vec):(-length(vec)+2)]   #删除x,y,z

#创建向量
#Q:创建向量的方法
1:5
1:-5
#1,3,5,7,9 创建等差数列
seq
example(seq)
seq(1,9,by =2)
vec <-c(1:3)
rep(vec,3)
rep(vec,each = 3)


#创建长度为0的向量
new.vec<-c()
length(new.vec)
new.vec

#判断某班级的学生年龄是不是18岁以上
stu <-sample(c(1:19),19,replace = F) #随机在119抽取19个数,不许重复
stu
stu >=18
all(stu >=18)
stu <- sample(c(18,19),10,replace = T)
stu
all(stu >=18)
#判断班级的学生的年龄是否存在18岁以下的?
stu <-sample(c(17,18,19),10,replace =T)
stu
any(stu<18)
#any all 

#向量运算,算数运算、关系运算、逻辑运算
vec1 <- c(1,2)
vec2 <- c(10,20)
vec1 * vec2
vec1 ==vec2 #对应比较
vec1 | vec2 #110,2,20均为T,只有0F

#向量运算-循环补齐
vec1 <-c(1,2)
vec2 <-c(10,20,30)
vec1 +vec2
vec2 <-c(10,20,30,40)
vec1 +vec2
#向量元素筛选,找出向量中的偶数
vec <- 1:10
new.vec <- vec[vec%%2 ==0]
new.vec
vec%%2 == 0
vec[c(F,T,F,T,F,T,F,T,F,T)]#通过逻辑型向量筛选向量元素

vec <-c(1:5,NA)
vec
vec[vec%%2 ==0] #%%求余数
subset(vec,vec%%2 ==0)#希望结果不出现NA

#找出向量中偶数的下标
vec<- 5:8
which(vec %% 2 ==0)[1]
which(vec ==100)[1]#没有这个值,显示缺失值NA

#寻找水仙花数
nums <- 100:999
first.num <- nums%/%100
second.num <- (nums%%100)%/%10
third.num <- nums%%10
nums[(first.num^3+second.num^3 +third.num^3) ==nums]
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值