Análisis de datos de lenguaje R
Descripción general del lenguaje R y análisis de datos
El lenguaje R es un lenguaje de programación de código abierto, nacido en 1993, el sistema R es de código abierto y gratuito.
Proceso de análisis de
datos : importación de datos, limpieza de datos, exploración de datos, modelado de datos, visualización, descubrimiento de informes
Comandos de operación básica
Nota: escriba el nombre del paquete en *
función | Descripción |
---|---|
getwed () | Mostrar directorio de trabajo actual |
establecer () | Modificar el directorio de trabajo actual |
ls () | Mostrar todos los objetos en el espacio de trabajo actual |
str () | Mostrar estructura de objeto |
ls.str () | Mostrar la estructura de cada variable en el objeto |
existe () | Si hay un objeto en el espacio de trabajo actual |
rm () | Eliminar uno o más objetos |
q () | Salir de R. Antes de esto le preguntará si desea guardar el espacio de trabajo. |
.libPaths () | Ver la ruta específica de la carpeta en la computadora |
install.packages () | Paquete de instalación |
biblioteca () | Mostrar la lista de paquetes instalados |
buscar() | Mostrar la lista de paquetes cargados |
biblioteca("*") | Cargar este paquete |
separar ("paquetes: *") | Quitar paquete |
remove.packages ("*") | Desinstalar paquete |
Tipo de datos básico
Tipos de | Descripción | Función de juicio | Forma de lenguaje R |
---|---|---|---|
Lógico | Los datos binarios que representan el valor lógico tienen solo dos valores, VERDADERO o FALSO. En R, la asignación de expresiones lógicas dará como resultado datos lógicos, como comparar el tamaño de dos números 2> 1 es igual a VERDADERO | es.logocal () | VERDADERO , 2 <= 1 |
Punto flotante | Los números reales expresados en decimal, como 1, 1.1, etc., son la forma de datos básica que se utiliza para el cálculo. | es.double () | 3,14 |
Entero | Se usa para describir números enteros, como 1, 2, 3. Cabe señalar que en el lenguaje R, el carácter L se agrega después del número entero para representar el número entero, de lo contrario se considerará como un punto flotante | es.integer () | 3L |
Tipo de caracter | Se usa para representar una cadena | es.carácter () | "Hola", "3,14" |
Plural | Se utiliza para representar valores complejos, donde la parte imaginaria está representada por i, por ejemplo 2 + 3i | es complejo () | 1 + yo |
Primitivo | Se utiliza para guardar los bytes originales, donde cada byte está representado por dos números hexadecimales, como A3. | is.raw () | 00 |
Conversión de tipo de datos
Tipo lógico tipo entero tipo punto flotante tipo carácter tipo
Operador
Estructura de datos en R
➢ Vector ➢ Matriz ➢ Array ➢ Lista ➢ Marco de datos ➢ Factor
Función de vector:
✓Crear vector
✓Elemento de
acceso ✓Añadir elemento
✓Borrar elemento
✓Obtener longitud del vector
Visualización de código
#基本数据类型
getwd()
install.packages("stringr")
.libPaths()
library()
search()
library("stringr")
str_length ("Hello R!")
detach("package:stringr")
str_length ("Hello R!")
remove.packages("stringr")
library("stringr")
#基本数据类型
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)#?
is.character("R program")
#数据类型转换
logi_vec <- T
typeof(logi_vec)
int_vec <- c(100L,200L)
typeof(int_vec)
double_vec <- c(10,20)
typeof(double_vec)
chr_vec <-c("伟大的","中国人民")
typeof(chr_vec)
typeof(c(logi_vec,int_vec))#?验证逻辑型和整数型
typeof(c(int_vec,double_vec))#?验证逻辑型和整数型
typeof(c(double_vec,chr_vec))#?验证逻辑型和整数型
typeof(c(logi_vec,int_vec,double_vec,chr_vec))#?验证逻辑型和整数型
1 == '1'
#在运算过程中,数据类型自动转换
2*T #?
10+FALSE #?
10+TRUE
exp(F) #?
10 & 0 #?
10 | 0 #?
#使用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)
#特殊值
#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)
#运算符
#逻辑运算 & 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
logi_vec1 && logi_vec2
logi_vec1 <- c(T,F,T)
#逻辑运算| vs ||
logi_vec1 <- c(T,F,T)
logi_vec2 <- c(F,T,T)
logi_vec1 | logi_vec2
logi_vec1 || logi_vec2
a <-T
b <- 10L
c <- 20
d <-"R";
typeof(c(a,b,c,d))
#向量
vec <- c(1,5,6,8,9)
#访问元素
vec[1]
vec[0]
vec[2:3]
vec[2:5]
vec[c(1,3)]#访问不连续的怎么办
vec[c(1,3,2)] #想重复访问
#添加元素
vec
vec <- c(vec[1:2],10,vec[3])
vec
#删除元素
vec
vec <-vec[-3]
vec
#获取向量长度
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)]
#创建向量
#Q:创建向量的方法
1:5
1:-5
c(1L,2.0,"a")
67#1,3,5,7,9,创建等差数列
?seq
example(seq)
seq(1,9,by =2)
#将某向量重复多次,创建向量
vec <-1:3
#1 2 3 1 2 3 1 2 3
?rep
example(rep)
rep(vec,3)
#111222333
rep(vec,each = 3)
#创建长度为0的向量
new.vec <- c()
length(new.vec)
new.vec
#判断某班级的学生的年龄是不是都是18岁以上?
stu <- sample(c(17,18,19),10,replace = T)
stu
all(stu >= 18)
stu <- sample(c(18,19),10,replace = T)
stu
any(stu<18)
#any all 你想想可以应用到什么场景中?
#向量运算,算术运算,关运算,逻辑运算
vec1 <- c(1,2)
vec2<- c(10,20)
vec1 * vec2
vec1 == vec2
vec | vec2
#向量运算–循环补齐
vec1 <- c (1,2)
vec2<-c (10,20,30)
vec1 + vec2
vec2<- c(10,20,30,40)
vec1 + vec2
¡Doraemon te da la bienvenida!