Análisis básico de datos en lenguaje R
Este artículo se basa en el análisis estadístico de datos básicos en lenguaje R, incluida la implementación y aplicación de dibujo de gráficos básicos, ajuste lineal, regresión logística, muestreo de arranque y análisis de varianza de Anova.
No hace falta decir mucho, solo ve al código, el código está comentado.
1. Dibujo básico (boxplot, qqplot)
#Dibujo básico
boxplot(x)
qqplot(x, y)
2. Ajuste lineal
#Regresión lineal
n = 10
x1 = rnorm(n)# Variable 1 p >
x2 = rnorm(n)# Variable 2
y = rnorm(n)*3
mod = lm(y~x1 x2)
model.matrix(mod) #Crear la matriz de mod
plot(mod) #Dibujar el gráfico residual y la solución ajustada, el gráfico Q-Q y el gráfico de distancia de cocción
resumen(mod) #Obtener información estadística del modelo
hatvalues(mod) #Muy importante, utilizado para la detección de muestras anormales
3. regresión logística
#regresión logística
p> p>
El número de veces
n lt; - 70 #El número de trayectorias
z lt; - n - y #El número de fallas
b lt; - cbind(y , z) # Enlace de columnas
fitx lt; - glm(b~x, family = binomial) # Un tipo especial de modelo lineal generalizado
print(fitx) p>
plot(x, y, xlim=c(0, 5), ylim=c(0, 65)) #traza los puntos (x, y)
beta0 lt; - fitx $coef[1]
beta1 lt; - fitx$coef[2]
fn lt; p>
fn lt; - fitx$coef[2]
fn lt;- función(x) n*explotar función(x) n*exp(beta0 beta1*x)/(1 exp (beta0 beta1*x)) p>
par(new=T)
curve(fn, 0, 5, ylim=c(0, 60))# Dibujar una curva de regresión logística
3.Muestreo Bootstrap
# Bootstrap
# Aplicación: muestreo aleatorio, obtenga la relación entre el valor propio máximo y la suma de todos los valores propios y dibuje un mapa de distribución
dat = matriz (rnorm(100*5), 100, 5)
no.samples = 200 #Muestreo 200 veces
# theta = matriz(rep(0, no.samples*5) , no.samples, 5)
theta = rep(0, no.samples*5);
for (i en 1: no.samples)
{
j = sample(1: 100, 100, replace = TRUE) #Obtén 100 muestras cada vez
datrnd = dat[j,]; #Seleccione una fila cada vez
lambda = pr
ncomp(datrnd)$sdev^2; #Obtener valores propios
# theta[i,] = lambda;
theta[i] = lambda[ 1]/sum(lambda); #Dibuja la proporción de los valores propios más grandes
}
# hist(theta[1,]) #Dibuja el histograma del primer valor propio (más grande)
hist(theta); #traza la distribución porcentual del valor propio más grande
sd(theta)#desviación estándar de theta
#Las declaraciones fueron comentadas anteriormente, todas se pueden eliminar del comentario. y comente su siguiente declaración para completar la función de dibujar la distribución del valor propio más grande
4. Análisis de varianza
#Aplicación: Determinar si la variable independiente tiene un impacto (suponiendo que 3 cerdos fueron alimentados con 3 tipos de vitaminas, queremos ver si alimentar con vitaminas es útil)
#
y = rnorm(9); #y = Matrix(c(1, 10, 1, 2, 10, 2, 1, 9, 1), 9, 1)
Tratamiento lt;- factor (c(1, 2, 3, 1, 2, 3, 1, 2, 3)) #Cada {1, 2, 3} es un grupo
mod = lm(y~Treatment) #Regresión lineal
print(anova(mod))
#Explicación: Df (grados de libertad)
#Sum Sq: La suma de las desviaciones totales (dentro de grupos y residuos)
#Mean Sq: Varianza Suma de cuadrados medios (dentro y residuales)
# Comparar las contribuciones de los tratamientos y los residuales
#Valor F: Varianza media (tratamiento) / varianza media (residuales)
#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)
qqnorm(mod$residual) #Use mod para dibujar el valor residual aproximado
# Si la qqnorm del residual es como una línea recta, significa que el residual se ajusta a la distribución normal, lo que significa que la contribución del tratamiento es muy pequeña.
Como se muestra en las dos figuras siguientes:
(izquierda) es el resultado de y = matriz (c(1, 10, 1, 2, 10, 2, 1, 9, 1), 9, 1 );
(derecha) es el resultado de y = rnorm(9) Resultado;
. Se puede ver que si el resultado de los datos dados es que el peso del cerdo es particularmente prominente después de tomar vitamina 2, entonces el residuo del gráfico qq no es una línea recta. En otras palabras, el residuo ya no se ajusta a la distribución normal. es decir, el efecto de las vitaminas en el peso de los cerdos influye.