• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

R语言学习(二)数据的导入、标注与处理数据集的实用函数

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

(一) 使用键盘直接输入数据

可以用R内置的文本编辑器或直接在代码中嵌入数据

首先考虑前者:

> mydata <- data.frame(age=numeric(0),gender=character(0),weight=numeric(0))
> mydata
[1] age    gender weight
<0 rows> (or 0-length row.names)
> mydata <- edit(mydata)


;;最后的> mydata <- edit(mydata)可以简写为fix(my data)

直接嵌入数据集可以用下面的方式:

> mydatatxt <- "
+   age gender weight
+   25 m 166
+   30 f 115
+   18 f 120
+ "
> mydatatxt
[1] "\n  age gender weight\n  25 m 166\n  30 f 115\n  18 f 120\n"
> mydata <-
+   read.table(header = TRUE,text=mydatatxt)
> mydata
  age gender weight
1  25      m    166
2  30      f    115
3  18      f    120

(二)从带分隔符的文本文件中导入数据

mydataframe <- read.table(file, options)

;;file 是带分隔符的ASCII文本文件,options是控制如何处理数据的选项

假设有一个csv格式(逗号分割)的文件如下图所示:

StudentID,First,Last,Math,Science,Social Studies
011,Bob,Smith,90,80,67
012,Jane,Weary,75,,80
010,Dan,"Thornton, III",65,75,70
040,Mary,"O'Leary",90,95,92

可以通过下列命令读取:

> grades <- read.table("studentgrades.csv",header = TRUE,row.names = "StudentID",sep=",")
;;header命令可以保留列名,row.names选项可以设定行名,sep确定分隔符
> grades
   First          Last Math Science Social.Studies
11   Bob         Smith   90      80             67
12  Jane         Weary   75      NA             80
10   Dan Thornton, III   65      75             70
40  Mary       O'Leary   90      95             92
> str(grades)
'data.frame':	4 obs. of  5 variables:
 $ First         : Factor w/ 4 levels "Bob","Dan","Jane",..: 1 3 2 4
 $ Last          : Factor w/ 4 levels "O'Leary","Smith",..: 2 4 3 1
 $ Math          : int  90 75 65 90
 $ Science       : int  80 NA 75 95
 $ Social.Studies: int  67 80 70 92

发现R自动把字符串转换为因子了,为了避免这种情况,可以通过stringAsFactors=FALSE阻止这个行为,也可以用colClasses来对每一列都指定一个类:

> grades <- read.table("studentgrades.csv",header = TRUE,row.names = "StudentID",sep=",",colClasses = c("character","character","character","numeric","numeric","numeric"))
> grades
    First          Last Math Science Social.Studies
011   Bob         Smith   90      80             67
012  Jane         Weary   75      NA             80
010   Dan Thornton, III   65      75             70
040  Mary       O'Leary   90      95             92
> str(gradoes)
Error in str(gradoes) : object 'gradoes' not found
> str(grades)
'data.frame':	4 obs. of  5 variables:
 $ First         : chr  "Bob" "Jane" "Dan" "Mary"
 $ Last          : chr  "Smith" "Weary" "Thornton, III" "O'Leary"
 $ Math          : num  90 75 65 90
 $ Science       : num  80 NA 75 95
 $ Social.Studies: num  67 80 70 92

(三) 导入Stata的数据

library(foreign)
mydataframe <- read.dta("mydata.dta")

(四)导入excel的数据

改成csv格式读吧。

 

数据集的标注

(一)变量标签

自己想办法,R很难处理变量的标签问题,最好就是把其赋值给一个变量来访问,比如patient[2] <- "string…………"来表示patient数据框的第二列对应的标签。

(二)值标签

patientID$gender <- factor(patientID,
                           levels = c(1,2),
                           labels = c("Male","Female"))

处理数据对象的实用函数:

head(object)        ;;显示某对象开始的部分
tail(object)        ;;显示某对象结尾的部分
ls()                ;;显示当前的对象列表
rm(object1,object2,……)     ;;删除环境中的某个对象
rm(list=ls())              ;;删除环境中的所有对象

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
R语言绘图002-页面布局发布时间:2022-07-18
下一篇:
[译]为什么R语言是当今最值得学习的数据科学语言发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap