一、使用键盘输入数据
edit():会自动调用一个手动输入数据的编辑器
mydata<-data.frame(age<-numeric(0),gemder<-character(0),weight<-numeric(0)) #创建一个空数据框(或矩阵)
mydata<-edit(mydata)
#首先,创建一个名为mydata的数据框,含有三个变量:age(数值型)、gender(字符型)和weight(数值型)
#之后,将会调用编辑器,键入数据,并保存结果
#编辑器关闭后,结果会保存到之前赋值的对象中(本例中为mydata)
#再次调用(输入)mydata <- edit(mydata),就能够编辑之前已经输入的数据并添加新的数据
语句 mydata <- edit(mydata) 的等价写法是 fix(mydata)
二、导入Excel数据
(1)补充:getwd()和setwd()
getwd() #获取R软件工作空间(目录)(工作路径)
setwd("D:\\RXX") #修改R软件工作空间为···,例如"D:\\RXX"
getwd() #再次检查查看
(2)具体实操
步骤:(此处使用的是WPS)
1、针对excel文件(.xls)(.xlsx),先另存为"csv(逗号分隔)(*.csv)"
2、输入下列代码:
setwd("D:\\RXX") #将R的工作空间重设为".csv"目标数据文件所在目录下
x<-read.csv("r file.csv") #读取R此时工作空间目录下的".csv"目标数据文件
xs<-data.frame(x) #将x转化为数据框形式
xs
结果显示为 "Error in make.names(col.names, unique = TRUE) : invalid multibyte string 1 "
1、 一般解决方案:保存为csv-UTF-8格式!
微软的Excel里面有"csv UTF-8(逗号分隔)" ,可以直接操作;但是,wps保存格式里面没有这个选项,只有"csv(逗号分隔)(*.csv)"2、针对常用wps的解决方案:
(1)方案一:在WPS中保存后,在记事本更改编码类型
操作步骤——wps——先另存为.csv文件——右击选择文档(.csv)——选择“打开文件位置”——在保证文件已下载情况下选择“打开方式”——记事本——文件——另存为——编码——UTF-8
(2)方案二:windows设置系统默认编码为UTF-8(从根源上解决问题)
操作步骤——设置——时间和语言——语言和区域——管理语言设置——更改系统区域设置——勾选“Beta版”
///缺点:Windows11的beta版本可能存在许多问题,因为它还在开发和测试阶段,并未正式发布
(改进错误之后再重新运行代码~)
三、导入.txt文本数据
(1)读入的是数据框形式(会自动为列命名,如V1,V2,V3···)
read.table(file,header=logical_value,sep = “delimiter”,row.names = “name”)
- file:文本文件名,例如D:\WPS\数据.txt
- header=T:第一行是列名
- header=F:第一行不是列名(也当作值计入)
- sep = “delimiter”:制定分隔符
- row.names = “name”:可选参数,制定一个或多个表示行标识符的变量
x<-read.table("D:\\RXX\\示例数据.txt",header=F);x
(2)读入的是纯文本数据(不会自动命名,只有如[1][14]···)
scan(file)
- file:文本文件名,例如D:\WPS\数据.txt
x<-scan("D:\\RXX\\xqzdb.txt");x