1. 读取CSV文件
data <- read.csv("input.csv", header=T) # header=T 表示第一行是表头
-
检查数据框:
print(is.data.frame(data)) # 检查是否为数据框 print(ncol(data)) # 输出列数 print(nrow(data)) # 输出行数
-
筛选数据:
ret <- subset(data, salary > 3000 & dept == "IT") # 筛选条件 print(ret)
2. 读取Excel文件
install.packages("xlsx") # 安装xlsx包
library(xlsx)
data <- read.xlsx("input.xlsx", sheetIndex = 1) # 读取第一个工作表
-
乱码问题:如果出现乱码,可以尝试指定编码:
data <- read.xlsx("input.xlsx", sheetIndex = 1, encoding = "UTF-8")
3. 读取JSON文件
install.packages("rjson") # 安装rjson包
library(rjson)
data <- fromJSON(file = "input.json") # 读取JSON文件
json_data_frame <- as.data.frame(data) # 转换为数据框
4. 读取XML文件
install.packages("XML") # 安装XML包
library(XML)
data <- xmlParse(file = "input.xml") # 解析XML文件
5. 从Web获取数据
install.packages("RCurl") # 安装RCurl包
install.packages("XML") # 安装XML包
install.packages("stringr")# 安装stringr包
install.packages("plyr") # 安装plyr包
library(RCurl)
library(XML)
library(stringr)
library(plyr)
url <- "http://www.geos.ed.ac.uk/~weather/jcmb_ws/"
links <- getHTMLLinks(url) # 获取页面中的所有链接
filenames <- links[str_detect(links, "JCMB_2015")] # 筛选符合条件的文件名
filenames_list <- as.list(filenames)
# 定义下载函数
downloadcsv <- function(mainurl, filename) {
filedetails <- str_c(mainurl, filename)
download.file(filedetails, filename)
}
# 批量下载文件
l_ply(filenames, downloadcsv, mainurl = "http://www.geos.ed.ac.uk/~weather/jcmb_ws/")
6. 读取TXT文件
data <- read.table('input.txt', header = F, sep = ' ') # 读取TXT文件
-
参数说明:
-
header = F
:表示文件没有表头。 -
sep = ' '
:指定分隔符为空格。
-
7. 连接MySQL数据库
install.packages("RMySQL") # 安装RMySQL包
library(RMySQL)
# 连接数据库
mysqlconnection <- dbConnect(MySQL(),
user = 'root',
password = 'abcd123456',
dbname = 'testdb',
host = 'localhost')
# 查询数据
result <- dbSendQuery(mysqlconnection, "SELECT * FROM table_name")
data <- fetch(result, n = -1) # 获取所有数据
dbClearResult(result) # 清除结果
dbDisconnect(mysqlconnection) # 断开连接
总结
-
文件读取:
- CSV:
read.csv()
- Excel:
read.xlsx()
- JSON:
fromJSON()
- XML:
xmlParse()
- TXT:
read.table()
- CSV:
-
Web数据获取:
- 使用
RCurl
和XML
包从网页中提取数据并下载文件。
- 使用
-
数据库操作:
- 使用
RMySQL
包连接MySQL数据库并查询数据。
- 使用
-
数据处理:
- 使用
subset()
筛选数据。 - 使用
as.data.frame()
将JSON数据转换为数据框。
- 使用
-
注意事项:
- 安装必要的包(如
xlsx
、rjson
、XML
、RMySQL
等)。 - 处理乱码时指定编码(如
encoding = "UTF-8"
)。 - 数据库操作后记得关闭连接。
- 安装必要的包(如
希望这份总结对你有帮助!如果有其他问题,欢迎随时提问。