R数据分析实战

R数据分析实战

更改默认工作目录

1、找到studio工具栏中Tools→Global Options
2、在图片箭头位置更改工作目录R数据分析实战

Rstudio install.packages失败解决方式

报错:无法打开URL’https://cran.rstudio.com/src/contrib/PACKAGES’
解决方式:进入到R的安装目录,编辑Rprofile.site文件,添加 options(download.file.method=“libcurl”),重新打开Rstudio即可
R数据分析实战注:R的工作目录大致为R>R-3.6.2>etc

R语言编程

一、
1、getwd() 获得工作目录
二、
1、install.packages()安装包
2、.libPaths()查看该文件夹在计算机中的具体路径
3、函数library()显示已安装的包的列表
4、函数search()显示已加载的包的列表
三、载入过多的包会占用内存导致计算机运行变慢。这时可以将不使用的包进行移除。
1、detach(“package:stringr”)
2、remove.package(“package:stringr”)卸载包
※移除与卸载有什么区别?
移除只是在内存上移除可重新加载,卸载是在本地卸载需要重新下载。

四、
1、基本数据类型
R数据分析实战

2、赋值判断数据类型
num<-100;num给num赋值
is.integer(num)判断num是否为整数型
is.double(num)判断num是否为浮点型
typeof(num)判断num数据类型
num2<-100L给num赋值为浮点型
is.logical(TRUE)判断TRUE是否为逻辑型
is.character(“R program”)判断R program是否为字符型
3、数据类型转换
logi_vec <- T
typeof(logi_vec)#结果为logical
int_vec <- c(100L,200L)
typeof(int_vec)#结果为integer
double_vec <- c(10,20)
typeof(double_vec)#结果为double
chr_vec <-c(“伟大的”,“中国人民”)
typeof(chr_vec)#结果为charscter
typeof(c(logi_vec,int_vec))#?验证逻辑型和整数型,结果为ineger
typeof(c(int_vec,double_vec))#?验证逻辑型和整数型,结果为double
typeof(c(double_vec,chr_vec))#?验证逻辑型和整数型,结果为integer
typeof(c(logi_vec,int_vec,double_vec,chr_vec))#?验证逻辑型和整数型,结果为character
※转换规则:
R数据分析实战
4、#在运算过程中,数据类型自动转换
2*T #?
10+FALSE #?
10+TRUE
exp(F) #?
10 & 0 #?
10 | 0 #?
5、#使用as函数强制转换数据类型
as.numeric(F)
as.numeric(“1000.01”)
as.numeric(“你好”)
as.logical(0)
as.logical(10)
as.logical(-10)
as.logical(“T”)
as.logical(“F”)
as.character(c(T,F,TRUE,FALSE))
as.character(10.99)
6、#特殊值
#NA
a <- 100
a[1]
a[2]
num_vec <- c(1,2)
length(num_vec) <- 4
num_vec
#Inf 无穷大
10/0
-10/0
0/0
Inf-Inf
num_vec1 <- c(1,5,NaN)
length(num_vec1)
num_vec2 <- c(1,5,NULL)
length(num_vec2)
7、#运算符
#逻辑运算&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 (T,T,T,F)
logi_vec1 & logi_vec2#2
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
8、#向量
vec <- c(2,3,4)
vec
9、#访问元素
vec[1]
vec[0]
vec[2:3]
vec[2:5]
vec[c(1,3)]#访问不连续的怎么办?
vec[c(1,3,3)]#想重复访问
10、#添加元素
vec
vec <- c (vec[1:2],10,vec[3])
vec
11、#册除元素
vec
vec<- vec[-2]
vec
12、#获取向量长度
vec <- letters
vec
length (vec)
vec[-length(vec)]#册除x,y,z怎么做?
vec[-length(vec):-length(vec)+2]
-length (vec):-length (vec)+2#注意.加括号
-length (vec) : (-length (vec)+2)
vec[-length(vec) : (-length(vec)+2)]
13、#创建向量,
#o:创建向量的方法

1:5
1:-5
#1,3,5,7,9,创建等差数列
?seq
example(seq)
seq(1,9,by=2)
14、#将某向量重复多次,创建向量
vec <- 1:3
vec
#1 23 1 23 1 2 3
?rep
example(rep)
rep(vec,3)
#1 1 1 2 2 2 3 33
rep(vec,each = 3)
15、#创建长度为0的向量
new.vec <- c()
length(new.vec)
new.vec
16、#判断某班级的学生的年龄是不是都是18岁以上
stu <- sample(1:19,19, replace = F)
stu
stu >= 18
all(stu <= 20)
stu <- sample(c(18,19), 10,replace=T)
all(stu >= 18)
17、#判断班级的学生的年龄是否存在18岁—下的?
stu <- sample(c(17,18,19),10, replace=T)
stu
any(stu<18)
stu<-sample(c(18,19), 10, replace= T)
stu
any(stu<18)
18、#any all你想想可以应用到什么场景中?
#向量运算,算数运算、关系运算、逻辑运算

vec1 <- c(1,2)
vec1
vec2<- c (10,20)
vec1 * vec2
vec1 == vec2
vec1 | vec2
19、#向量运算–循环补齐
vec1 <- c (1,2)
vec2<-c (10,20,30)
vec1 + vec2
vec2<- c(10,20,30,40)