应用统计学方法(一)

发布于 作者: Ethan

前言

应用统计学方法笔记。

R 基础知识

数据统计


# 读取csv
penguins <- read.csv("penguins.csv")

# preview
head(penguins)

# summarize categorical data
table(penguins$species)

# 2-way frequency table (a.k.a. contingency tables)
table(penguin$species, penguins$year)

# add row and col sums
addmargins(table(penguins$species, penguins$year))

# summarizing quantitative data
# jcompute basic nemerical summasries
mean(penguins$flipper_length_mm)
median(penguins$flipper_length_mm)
sd(penguins$flipper_length_mm)
quantile(penguins$flipper_length_mm)

# summary returns the mean in addition to the 5-number summary
summary(penguins$flipper_length_mm)

R Object

R中所有东西都是object,主要有4种:

  1. Vectors
  2. Matrices
  3. Lists
  4. Data Frames

Vectors

一维同类型数组,有三种数据类型:

  • Numeric: Integer/Double
  • Character: Text
  • Logical: TRUE/FALSE

如果存在不同类型会被强制转换。

# 创建vector
c(10,20,30,40,50) # c stands for combine

# also store
vec1 <- c("A","B","C")

# view structure of vector
str(vec1)

R中每一个单个value都是长度为1的vector

# 创建50-100组成的vector
50:100

# 创建10-200,间隔为5
seq(from=10, to=200, by=5)

Matrices

二维数组,一种类型。

# 将vector reshape到matrix
# by row = cfill the matrix by row
# otherswise by col
matrix(data = my_vector1, nrow = 2, ncol = 2, byrow = TRUE)

# 或者可以直接specify data
matrix(data = 1:20, 
       nrow = 5, 
       ncol = 4, 
       byrow = TRUE)

# R会尽力创建矩阵,即使大小不匹配!

# analyze structure
str(my_matrix)

Lists

List可以存放多数据类型。 其中每一个元素都是单独的一个object(比如一个长度为1的vector

Data Frames

Data Frame是一种list,其中每一个元素都是同样长度的vectorvector可以是不同类型的,但是单独的vector只能有一个类型。 最开始导入的csv变量即是一个Data Frame。

# 使用class查看类型
class(vec); class(matrix), class(penguins)