R语言基础学习

R与R Studio

  • R语言是数据科学和统计分析的语言,适合数据分析和数据可视化。
  • R是开源的,拥有丰富的包(packages),可以与优化软件进行交互。
  • RStudio 提供了R语言的集成开发环境,支持代码编辑、运行、调试等功能。
  • 下载RCRAN
  • 下载RStudioRStudio Download

R Studio界面基本操作

  • 保存/打开代码文件使用.R扩展名。
  • 保存/打开环境文件使用.Rdata扩展名。
  • 快捷键操作:
    • Ctrl + L: 清除控制台。
    • Ctrl + #: 专注于panel。
    • Ctrl + Enter: 运行当前行或选中的行。

R语言基本语法

  • 基本运算与赋值

    # 加法
    add_result <- 3 + 7
    # 减法
    subtract_result <- 3 - 7
    # 除法
    divide_result <- 3 / 7
    # 乘法
    multiply_result <- 3 * 7
    # 次方
    power_result <- 3 ^ 7
    
    # 赋值
    A <- 10  # 向右赋值
    B <- 5   # 同上
    # 字符串赋值
    A_string <- 'This is a valid string'
    B_string <- "And so is this"
    
  • 向量的生成与索引

    # 创建向量
    X <- c(1, 2, 3)
    Y <- c('one', 'two', 'three')
    
    # 使用seq()生成序列
    sequence_vector <- seq(1, 10, 2)
    
    # 使用rep()生成重复元素的向量
    repeated_vector <- rep(c(1, 2, 3), 2)
    
    # 索引向量
    X <- c(4, 5, 6, 7)
    third_element_X <- X[3]
    except_second_element_X <- X[-2]
    second_and_fourth_element_X <- X[c(2, 4)]
    
    # 通过索引重新赋值
    X[1] <- 14
    X[c(2, 4)] <- c(15, 17)
    
    # 对向量增加元素
    X[5] <- 8
    
  • 向量的运算

    # 元素层面上的运算
    X <- c(4, 5, 6, 7)
    elementwise_addition <- X + X
    elementwise_subtraction <- X - X
    elementwise_power <- X ^ 3
    elementwise_multiplication <- X * X
    
    # 向量内积
    X %*% X
    
  • 矩阵的生成与索引

    # 生成矩阵
    X_matrix <- matrix(1:10, nrow = 2, ncol = 5)
    
    # 索引矩阵
    element <- X_matrix[2, 2]
    row <- X_matrix[2, ]
    column <- X_matrix[, 2]
    specific_elements <- X_matrix[2, c(2, 4)]
    
  • 控制流语句

    # if语句
    x <- 5
    if (x < 7) {
      x <- 9
    } else {
      x <- 11
    }
    
    # for循环
    sum <- 0
    for (i in 1:10) {
      sum <- sum + i
    }
    
    # while循环
    sum <- 0
    i <- 1
    while (i < 11) {
      sum <- sum + i
      i <- i + 1
    }
    
  • 用户自定义函数

    # 自定义函数
    Accumulative <- function(n) {
      sum <- 0
      for (i in 1:n) {
        sum <- sum + i
      }
      return(sum)
    }
    result <- Accumulative(10)
    

DataFrame简介

  • 数据框是R中类似于表格的数据结构,每行是一个个体,每列是一个变量。

数据框的创建

library(tibble)
data <- tibble(
  age = c(24, 22, 23, 25, 22),
  personality = c('g', 'b', 'g', 'b', 'g'),
  income = c(2000, 5800, 4200, 1500, 6000)
)

数据框的检索

# 使用$检索
ages <- data$age

# 使用[ ]检索
age_vector <- data['age']
income_vector <- data[["income"]]

# 使用[[ ]]检索(向量形式)
income_vector_direct <- data[[2]]

# 矩阵检索方式
data[2, 3]
data[, 2]
data[4, ]
data[1:3, c('age', 'income')]

数据框的基本操作

  • filter(): 筛选数据框中的行。

    filter_data <- filter(data, age > 23)
    
  • slice(): 根据行号筛选行。

    first_ten_rows <- slice(data, 1:10)
    last_ten_rows <- slice(data, (n() - 9):n())
    
  • select(): 选择或排除列。

    selected_columns <- select(data, age, income)
    excluded_columns <- select(data, -age, -income)
    
  • mutate(): 添加新列或修改现有列。

    transformed_data <- mutate(data, income_per_age = income / age)
    
  • arrange(): 对数据框进行排序。

    arranged_data <- arrange(data, desc(income))
    
  • summarize(): 对数据框进行汇总。

    summary_data <- summarize(data, avg_income = mean(income, na.rm = TRUE))
    

数据框分组操作

  • group_by(): 按变量分组数据框。

    grouped_data <- group_by(data, personality)
    
  • 分组后的操作: 对分组数据进行操作,如汇总。

    summary_by_personality <- summarize(grouped_data, avg_income = mean(income, na.rm = TRUE))
    

The pipe operator:%>%

  • 使用管道操作符将前一步的结果传递给下一步的函数。
    count_cuts <- diamonds %>%
      group_by(cut) %>%
      mutate(N = n())
    

ggplot2绘图

  • 使用ggplot2包进行数据可视化。
    library(ggplot2)
    ggplot(data, aes(x = age, y = income)) +
      geom_point()
    
  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值