Análisis básico de datos en lenguaje r
Realice análisis estadísticos de datos básicos basados en lenguaje R, incluida la implementación y aplicación de dibujo básico, ajuste lineal, regresión logística, muestreo de arranque y análisis de varianza de Anova.
No hay mucho que decir, vayamos directamente al código. Hay comentarios en el código.
1. Dibujos básicos (diagrama de caja, diagrama qq)
#Diagrama básico
Diagrama de caja (x)
diagrama qq (x). , y)
2. Ajuste lineal
#Regresión lineal
n = 10
x 1 = r norma( n)# variable 1
x2 = r norma(n)#Variable 2
y = rnorma(n)*3
mod = lm(y~ x1+x2 )
Matriz modelo (mod)#Establecer la matriz mod
plot(mod)#Dibujar los residuos de la solución y la curva de ajuste, curva Q-Q y distancia de cocción
p>summary(mod)#Obtener la información estadística del modelo
hat valores(mod)# es muy importante y se utiliza para la detección de muestras anormales
3. regresión
#Regresión logística
x & lt- c(0, 1, 2, 3, 4, 5)
y & lt- c(0 , 9, 21 , 47, 60, 63) #Número de éxitos
n & lt-70 #Número de senderos
z & lt-n-y #Número de fracasos
b & lt- cbind(y, z) #Enlace de columnas
fitx & lt- glm(b~x, family = binomial) #Un tipo especial de modelo lineal generalizado
Imprimir(fitx)
plot(x, y, xlim=c(0, 5), ylim=c(0, 65))#Plot point (x, y)
beta0 & lt- fitx$coef[1]
beta 1 & lt;- fitx$coef[2]
fn & lt-función(x)n * exp (beta beta 1 * x)/(1+exp(beta beta 1 * x))
par(new=T)
Curva (fn, 0, 5, ylim=c(0, 60)) #Dibuja una curva de regresión logística
3 Muestreo Bootstrap
#Bootstrap
#Aplicación: muestreo aleatorio, encuentre la relación entre el valor propio más grande y la suma de todos los valores propios y dibuje una gráfica para representar la distribución.
dat = matriz(rnorm(100*5), 100, 5)
Número de muestras = 200 #Muestra 200 veces
# theta = matriz( rep (0, número de muestras * 5), número de muestras, 5)
theta =rep(0, número de muestras * 5);
Usado para (I+0 en 65438: Número de muestras)
{
j = muestra(1:100, 100, reemplazar = VERDADERO)#Obtener 100 muestras cada vez
datrnd = dat[ j,];#Seleccione una fila a la vez
λ= princomp(datrnd)$sdev^2;#Obtenga los valores propios
#θ[I,]= λ;
θ[I]=λ[1]/sum(λ);# Dibujar la relación de los valores propios más grandes
}
# hist( theta[1,]) #Dibuja el histograma del primer valor propio (más grande)
hist(theta); #Dibuja la distribución porcentual del valor propio más grande
SD(θ)# La desviación estándar de θ
#Las declaraciones comentadas anteriormente se pueden comentar y la siguiente declaración también se puede comentar para completar la función de dibujar la distribución máxima del valor propio.
4. Análisis de varianza
#Aplicación: Determinar si una variable independiente tiene un impacto (supongamos que alimentamos con tres vitaminas a tres cerdos para ver si tienen algún efecto)
#
y = r norm(9);# aumento de peso por cerdo (yij, I es tratamiento, j es pig_id), generalmente ingresado por el propio usuario.
#y = matriz (c(1, 10, 1, 2, 10, 2, 1, 9, 1), 9, 1)
Tratamiento<- factor( c( 1, 2, 3, 1, 2, 3, 1, 2, 3))#Cada {1, 2, 3} es un grupo
mod = lm(y ~proceso)# Regresión lineal
Imprimir (análisis de varianza (mod))
#Explicación: Df (grados de libertad)
# sumsq: desviación (dentro del grupo suma residual) Suma de desviaciones totales
#significaq: suma de varianzas promedio (dentro de grupos y residuales).
#Comparar tratamiento y contribuciones residuales
#Valor F: media cuadrática (tratamiento)/media cuadrática (residual)
# Pr(& gt; F) : valor p. Decida si acepta la hipótesis H0 según el valor p: las medias poblacionales de múltiples muestras son iguales (el nivel de prueba es 0,05).
Norma QQ(mod $residual)#Dibuja el residual aproximado por mod
#Si la qqnorm del residual es como una línea recta, significa que el residual se ajusta a la normal distribución, es decir La contribución del tratamiento es muy pequeña, lo que significa que el tratamiento no puede traer beneficios (no hay diferencia entre administrar más vitaminas y administrar menos vitaminas).
Como se muestra en la siguiente figura, son
(izquierda) usa y = matriz (c (1, 10, 1, 2, 10, 2, 1, 9, 1 ) y
(right) y = r norm(9);
El resultado se puede ver que si los datos resultan del peso del cerdo después de ingerir vitamina 2. prominente, entonces qq Los residuos del gráfico ya no son una línea recta. En otras palabras, los residuos ya no se ajustan a la distribución normal, es decir, las vitaminas tienen un impacto en el peso de los cerdos.