一,使用键盘输入数据
R中的函数edit()会自动调用一个允许手动输入数据的文本编辑器。具体步骤如下:
(1)创建一个空数据框(或矩阵),其中变量名和变量的模式需与理想中的最终数据集一致。
(2)针对这个数据对象调用文本编辑器,输入你的数据,并将结果保存回此数据对象中。
mydata <- data.frame(age=numeric(0), gender=character(0),weight=numeric(0)) mydata <- edit(mydata)
fix(mydata) 等价mydata <- edit(mydata)
也可以直接在程序中嵌入数据集。
mydatatxt <- " age gender weight 25 m 166 30 f 115 18 f 120 " mydata <- read.table(header=TRUE, text=mydatatxt)
二,从带分隔符的文本文件导入数据
可以使用read.table()从带分隔符的文本文件中导入数据。此函数可读入一个表格格式的文件并将其保存为一个数据框,表格的每一行分别出现在文件中每一行。
mydataframe <- read.table(file,options)
其中,file是一个带分隔符的ASCII文本文件,options是控制如何处理数据的选项。
grades <- read.table("studentgrades.csv",header=TRUE, row.names="StudentID",sep=",")
默认地,read.table()把字符变量转化为因子,加上选项stringsAsFactors=FALSE对所有的字符变量都去掉这个行为。此外,可以用colClasses选项去对每一列都指定一个类(比如说,逻辑型,数值型,字符型或因子型)
grades <- read.table("studentgrades.csv", header=TRUE, row.names="StudentID", sep=",", colClasses=c("character","character","character", "numeric","numeric","numeric"))
三,导入Excel数据
1,读取一个Excel文件的最好方式,就是在Excel中将其导出为一个逗号分隔文件(csv),用read.table的方式来将其导入到R中。
mydata <- read.table("数据.csv",header=TRUE, sep="," stringsAsFactors=FALSE)
2,使用xlsx包直接导入Excel工作表。确保第一次使用之前先进行下载和安装。
library(xlsx) workbook <- "c:/Rfile/数据.xlsx” mydataframe <- read.xlsx(workbook,1, encoding="UTF-8")
**** 中文乱码问题的解决,先将Excel文件另存为,这个时候将编码格式选为UTF-8,然后在read.xlsx方法中添加encoding="UTF-8"选项,使这两处的编码格式保持一致。
read.xlsx(file,n),其中file是Excel工作薄的所在路径,n则为要导入的工作表序号。
也可以使用read.xlsx2()函数来导入Excel文件。
四,访问数据库管理系统
针对你的系统和数据库类型安装和配置合适的ODBC驱动,之后再安装RODBC包。
install.packages("RODBC") library(RODBC) myconn <- odbcConnect("mydsn", uid="Rob", pwd="test") crimedat <- sqlFetch(myconn, Crime) pundat <- sqlQuery(myconn, "select * from Punishment") close(myconn)