去掉数据框df的某一列:
# 删除不必要的变量
data$unnecessary_var <- NULL
选择需要的列进行读入数据框:
# 选择需要的列
selected_cols <- c("col1", "col2", "col3")
data <- fread("data.csv", select = selected_cols)
data.table
包中的fread
函数的nrows
参数来指定每次读取的行数。library(data.table)
chunk_size <- 100000
data <- fread("data.csv", nrows = chunk_size)
while (!feof("data.csv")) {
next_chunk <- fread("data.csv", nrows = chunk_size)
data <- rbind(data, next_chunk)
}
readr
包的read_csv
函数,它使用了更少的内存。library(readr)
data <- read_csv("data.csv")
若时间为标准的date类可用year()、month()等函数提取相应数字;若时间是字符串类型表示则用下列方式截取:
str_extract("Hello, world!", "\\w+") # 提取所有的单词
str_extract("2021-01-01", "\\d{4}") # 提取日期中的年份
各种编码之间的相互转换
除了CP936(简体中文编码)和UTF-8(通用字符编码)之外,常见的字符串类型还包括以下几种:
CP1252(西欧语言编码):它是Windows默认的字符编码,适用于包含英语、法语、德语等西欧语言的文本。CP1252编码支持更多的特殊字符和符号,比如©、®、€等。
GBK(国标码):它是GB2312(汉字标准码)的扩展,适用于中文文本。GBK编码支持更多的汉字字符,覆盖了简体和繁体中文。
Big5(繁体中文编码):它主要用于香港、台湾和一些海外华人地区的繁体中文文本。Big5编码使用更多的位表示繁体中文字符。
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) # 输出:浣犲ソ锛屽師濮�