• R语言清洗与处理数据常用代码段


    去掉数据框df的某一列:

    1. # 删除不必要的变量
    2. data$unnecessary_var <- NULL

     选择需要的列进行读入数据框:

    1. # 选择需要的列
    2. selected_cols <- c("col1", "col2", "col3")
    3. data <- fread("data.csv", select = selected_cols)
    1. 逐块读取数据:如果数据集太大无法一次性读取到内存中,可以尝试使用逐块读取的方式,将数据分割成较小的块进行处理。可以使用data.table包中的fread函数的nrows参数来指定每次读取的行数。
    1. library(data.table)
    2. chunk_size <- 100000
    3. data <- fread("data.csv", nrows = chunk_size)
    4. while (!feof("data.csv")) {
    5. next_chunk <- fread("data.csv", nrows = chunk_size)
    6. data <- rbind(data, next_chunk)
    7. }
    1. 使用其他工具:可以考虑使用其他工具来读取和处理数据。例如,可以尝试使用readr包的read_csv函数,它使用了更少的内存。
    1. library(readr)
    2. data <- read_csv("data.csv")

     若时间为标准的date类可用year()、month()等函数提取相应数字;若时间是字符串类型表示则用下列方式截取:

    1. str_extract("Hello, world!", "\\w+") # 提取所有的单词
    2. str_extract("2021-01-01", "\\d{4}") # 提取日期中的年份

     各种编码之间的相互转换

    除了CP936(简体中文编码)和UTF-8(通用字符编码)之外,常见的字符串类型还包括以下几种:

    1. CP1252(西欧语言编码):它是Windows默认的字符编码,适用于包含英语、法语、德语等西欧语言的文本。CP1252编码支持更多的特殊字符和符号,比如©、®、€等。

    2. GBK(国标码):它是GB2312(汉字标准码)的扩展,适用于中文文本。GBK编码支持更多的汉字字符,覆盖了简体和繁体中文。

    3. Big5(繁体中文编码):它主要用于香港、台湾和一些海外华人地区的繁体中文文本。Big5编码使用更多的位表示繁体中文字符。

    4. ISO-8859-1(拉丁字母编码):也被称为Latin-1,它是ISO推荐的ASCII字符扩展编码,适用于大多数欧洲语言。ISO-8859-1编码容纳了西欧语言的大部分字符。

    这些字符编码有各自的特点和适用范围,选择适当的字符编码取决于文本内容和目标使用环境。对于国际化或多语言支持的应用,UTF-8是推荐的编码方式,因为它可以兼容多种语言和字符集。

     # 将UTF-8编码的字符串转换为GBK编码

    utf8_str <- "你好,世界" gbk_str <- iconv(utf8_str, from = "UTF-8", to = "GBK") print(gbk_str) # 输出: 涓浗锛屽叡浜�

    # 将GBK编码的字符串转换为UTF-8编码 gbk_str <- "涓浗锛屽叡浜�"

    utf8_str <- iconv(gbk_str, from = "GBK", to = "UTF-8") print(utf8_str) # 输出:你好,世界

    # 将CP936编码的字符串转换为UTF-8编码 cp936_str <- "你好,世界"

    utf8_str <- iconv(cp936_str, from = "CP936", to = "UTF-8") print(utf8_str) # 输出:你好,世界

    # 将UTF-8编码的字符串转换为CP936编码 utf8_str <- "你好,世界"

    cp936_str <- iconv(utf8_str, from = "UTF-8", to = "CP936") print(cp936_str) # 输出:浣犲ソ锛屽師濮�


     

  • 相关阅读:
    队列的实现方式—Python数据结构(三)
    ubuntu 安装串口工具和添加虚拟串口
    猿创征文|小程序账号申请和安装开发者工具
    MAX/MSP SDK学习03:Atoms and Messages的使用
    什么时候可以禁用文本选择?
    [C++网络协议] I/O复用
    sqli-labs/Less-51
    ETLCloud工具让美团数据管理更简单
    java计算机毕业设计网上书店进销存管理系统源码+数据库+系统+lw文档+mybatis+运行部署
    filter的理解是使用(日常复习)
  • 原文地址:https://blog.csdn.net/jiangmeilinabcd/article/details/133268652