c++中整形输入逗号_R语言数据的输入

R语言数据输入

可供R导入的数据源,文本文件(txt、XML)、统计软件(SPSS、SAS)、键盘、其他(Excel)、数据库管理系统(SQL、MySQL)
在这里,我打算挑一些常用的。

使用键盘输入数据

两种方式
1、R内置的文本编辑器,使用edit()函数。
2、直接在代码中嵌入数据

第一种:R内置的文本编辑器,使用edit()函数

data data data               #显示data数据框
 age weight gender
1   1      1     男
2   1      2     女

在这个对话框,我们可以给变量gender选择变量类型,有numeric和character两种类型。

8a062cec33e89e04dbf75bfbf76bf248.png

输入完数据,结果会保存到之前赋值的对象中data

第二种:直接在代码中嵌入数据

可以参考之前推送的数据结构———下。里面有详细讲解

从带分隔符的文本文件导入数据

语法:

data

file是带分隔符.csv文件,输入该文件的地址。notice!不要直接复制粘贴文件路径,不然会得到如下错误。

data 错误: 由""D:\R"开头的字符串中存在'\R',但没有这种逸出号

"\"在R语言被认为是转义字符,应该改为"\"或者"/"才算正确。

options是控制如何处理的选项。

选项描述
header一个表示文件是否在第一行包含了变量名的逻辑型变量
sep分开数据值的分隔符。默认是sep="",这表示了一个或多个空格、制表符、换行或回车。使用sep=","来读取用逗号来分割行内数据的文件,使用sep="\t"来读取使用制表符来分割行内数据的文件
row.mames一个用于指定一个或多个行标记符的可选参数
col.names如果数据文件的第一行不包括变量名(header=FALSE),你可以用col.names去指定一个包含变量名的字符向量。如果header=FALSE以及col.names选型被省略了,变量会被分别命令为V1、V2,以此类推。
na.strings可选的用于表示缺失值的字符向量。比如说:na.strings=c("-9","?")。表示把-9和?值在读取数据的时候转换成NA
colClasses可选的分配到每一列的类向量。比如说,colClasses=c("numberic","numberic","character","NULL","numberic")。把前两列读取为数值型向量,把第三列读取为字符型向量,跳过第四列,第五列读取为数值型向量,如果后面还有列,重复循环。可以预见到,在遇到大型数据的时候,colClasses可以显著提高读取效率。
quote用于对有特殊字符的字符串划定界限的字符串,默认值是双引号或单引号。
skip读取数据前跳过的行的数目。这个选项在跳过头注释的时候比较有用
text一个指定文字进行处理的字符。如果text被设置了,file应该被留空。

这是Studentgrades.csv文件的前几行
StudentID,First,Last,Math,Science,Social Studies
011,Bob,Smith,90,80,59
012,Jane,Weath,69,58,85
013,Dan,"Wkfa III",85,67,83
045,Mary,"O'Leat",75,65,86

我们用读取这个文件

data data
  First     Last Math Science Social.Studies
11   Bob    Smith   90      80             59
12  Jane    Weath   69      NA             85
13   Dan   Wkfa III 85      67             83
45  Mary    O'Leat  75      65             86

str(data)  #这个函数可以查看数据框的数据结构
'data.frame':   4 obs. of  5 variables:First:Factorw/4levels"Bob","Dan","Jane",..:1324 Last          : Factor w/ 4 levels "O'Leat","Smith",..: 2 3 4 1Math:int90698575 Science       : int  80 NA 67 65
$ Social.Studies: int  59 85 83 86

变量名Social Studies被自动地根据R的习惯所重命名。列StudentID现在是行名,不再有标签。Jane的缺失的科学课成绩被正确地识别为缺失值NA。不得不用引号包住Wkfa III,否则R会在那一行读出七个值,而不是六个。同时也不得不用引号包住O'Leat,否则R会把单引号读取为分隔符。我的第一列前面的0也不见了。

有时候导入数据和你想要的数据总是会有偏差,你想把缺失的去掉,该出现的没出现,改有的没有。
在后面我们会讲到把缺失值去掉,提取想要的数据,剔除不想要的数据。

默认的,read.table()把字符变量转化为因子,这并不是我们想要的情况,在此,可以加上选项colClasses选项去对每一列都指定一个类
如下代码,还是对Studentgrades.csv

data data
   First     Last Math Science Social.Studies
011   Bob    Smith   90      80             59
012  Jane    Weath   69      NA             85
013   Dan Wkfa,III   85      67             83
045  Mary   O'Leat   75      65             86

str(data)
'data.frame':   4 obs. of  5 variables:First:chr"Bob""Jane""Dan""Mary" Last          : chr  "Smith" "Weath" "Wkfa,III" "O'Leat"Math:num90698575 Science       : num  80 NA 67 65
$ Social.Studies: num  59 85 83 86  #行名保持了前缀0,First和Last不再是因子,而是字符。

导入Excel数据

读取一个Excel文件最好的方式是在Excel中将其导出为逗号分隔文件(.csv),并使用前面描述的那样导入R中。
同时,有一个xlsx包直接地导入Excel工作表,相应的,你需要安装Java包。

install.packages("xlsx")         #安装xlsx包
library("xlsx")                  #加载包
workbook mydataframe

今天的学习就到这里,有问题的小伙伴后台留言,一起学习进步。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值