R第二章:数据的输入

一,使用键盘输入数据

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)

 

转载于:https://www.cnblogs.com/xinlanzhang7319/p/7729084.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值