【怪毛匠子整理】

1、下载

wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz

 

2、解压:

tar -zxvf R-3.0.1.tar.gz

cd R-3.0.1

 

3、安装

yum install readline-devel

yum install libXt-devel

./configure

 

如果使用rJava需要加上 --enable-R-shlib

./configure  --enable-R-shlib --prefix=/usr/R-3.0.1

make

make install

 

4、配置环境变量

vi .bash_profile

 

PATH=/usr/R-3.0.1/bin

 

5、测试:创建脚本(t.R)

cd /opt/script/R

vim t.R

 

#!/path/to/Rscript    #第一行

x<-c(1,2,3)    #R语言代码

y<-c(102,299,301)

model<-lm(y~x)

summary(model)

 

6、测试:

 

  • 执行脚本

R CMD BATCH --args /opt/script/R/t.R

more /opt/script/R/t.Rout    #查看执行的结果

或者第二种方式

  • 查看结果

Rscript /opt/script/R/test.R    #结果直接输出到终端

 

 

 

安装和卸载R

 make uninstall

 

注意:R的升级必须先卸载(make uninstall

再重新安装(下载/解压/configure/make/make install

RLinux安装R语言包(Installing R packages on Linux)

有关install.packages()函数的详见:Rpackage 的安装(install.packages函数详解)

R的包(package)通常有两种:

1 binary package:这种包属于即得即用型(ready-to-use),但是依赖与平台,即WinLinux平台下不同。

2 Source package: 此类包可以跨平台使用,但用之前需要处理或者编译(compiled)。

以下一些常用的包相关的函数:

.libPaths():查看包的安装目录

library()查看已经安装的包目录

library(mypackage):载入mypackage

getOption("defaultPackages"):查看启动R时自动载入的包。

help(package = \'mypackage\'):查看‘mypackage’的帮助

       args(function):查看函数的参数

       example(function):自动运行该函数帮助文档中的例子,很赞!

       demo("package"):展示一些包中demostration需要再看下??

vignette(\'mypackage\'):有的包,特别是bioconductor的包有vignette,用函数查看

openVignette(\'mypackage\'):这个函数也可以查看vignette,更好用一些

RSiteSearch("helpinfor"):搜索R网站上的“helpinfor”相关信息

help.start():查看已经安装包的详细HTML文档,这个命令非常爽

更新:

search():查看当前载入的包

sessionInfo():查看R中载入的包

methods():查看某个S3泛型函数中所有的方法或者一个类中所有的方法(S3S version 3

showMethods(class = "myClass"):查看S4类的方法

findMethods("myMethods"):查看method的代码

class(myObject):查看某个对象的类

getClass(“class/package”):查看某个class或者包的具体内容

getSlots("class"):查看某个classslot

slotNames(MyObject):查看某个对象的slot

可以使用Myobject@slotNames访问对象的slot值,这个@设计实在是太爽了,可以连续用。

 

查询包内信息:1. ?function/method:查看某个函数或者方法的详细内容

                         2. class?graph::graph:查看的详细内容的一个例子。这个例子的来源是查询graph包时候,查看其中class的信息,输入??graph后出现一个graph::graph-class

ls("package:mypackage"):查看"mypackage"中的所有对象。

 

安装source package方法

 

1 在终端输入 # R CMD INSTALL /.../mypackage.tar.gz

使用此方法,需要解决包依赖问题,即安装此包所依赖的包,安装过程有提示

 

2 也可以使用Rinstall.packages()函数安装

   回答:可以使用install.packages()函数安装,而且比较简便,即联网即可装,装了就可用。

   # R

   > install.packages(\'mypackage\')

   回答2:可以使用install.packages()安装本地下载的包,尤其适用于在服务器上安装包

   $ R

   > install.packages( c("XML_0.99-5.tar.gz", "http://www.cnblogs.com/Interfaces/Perl/RSPerl_0.8-0.tar.gz"), repos = NULL, configure.args = c(XML = \'--with-xml-config=xml-config\', RSPerl = "--with-modules=\'IO Fcntl\'"))

 

3 Bioconductor的安装方法

> source("http://bioconductor.org/biocLite.R")

> biocLite("mypackage")

 

4 卸载package

remove.packages("mypackage")

 

5 查看R及其packageversion

R version: version 或者 R.version

R package version: 

 

6 更新包

update.packages( )  可以定期执行以下

 

7 使用别人安装的包

修改.bashrc文件,添加环境变量Rlib路径

export R_LIBS=/home/.../R/lib64/R/library

R中用.libPaths()函数查看lib路径,如果有多个lib,install.packages()默认是安装在第一个目录下

 

安装R语言的包的方法

 1. 自动安装(在线安装)

R的控制台,输入

install.packages(“gridExtra”) # 安装 gridExtra

install.packages(“stepNorm”, contriburl=”http://www.your.url”, dependencies = TRUE) # 安装 stepNorm

若要指定安装目录 (e.g. “mydir”),则输入

install.packages(“stepNorm”, contriburl=”http://www.biostat.ucsf.edu/jean/software”, lib=”mydir”)

这种方法可能找不到需要的package,那么可以用 方法2

2. 手动安装(离线安装)

Windows:

下载package.zip文件

打开R的菜单栏->Packages->“Install package from local zip file…”

选择package.zip文件

R_program_install_package

Linux上安装R包(离线安装):

下载package.tar.gz文件

Shell终端(注意不是R)输入:

sudo R CMD INSTALL package.tar.gz

注意:需要sudo权限才能安装。否则提示:

username is not in the sudoers file. This incident will be reported.

查看全部安装的R包:

.packages(all.available=T)

查看某个安装的R包:

library(“XML”)

help(package=”XML”)

 

 

 

R语言学习笔记

1R的使用

1.R语句由函数和赋值。R使用<-作为赋值符号:

x <- rnorm(5)  #创建一个名为x的向量对象,x包含5个符合标准正太分布的随机偏差#

rnorm(5) -> x x <- rnorm(5),这两个语句等价。

2.简单的R会话:

 

研究上述10名婴儿的:(1)体重分布;(2)体重和月龄的关系

代码清单:

age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3)           #使用函数c()以向量的形式输入月龄数据#

weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6, 10.4,   #使用函数c()以向量的形式输入体重数据#

    10.2, 6.1)

mean(weight)            #使用函数mean()求体重平均值#

sd(weight)               #使用函数sd ()求体重标准差#

cor(age, weight)          #使用函数cor()求体重与月龄之间相关系数#

plot(age, weight)         #使用函数plot(),以图形形式表现体重与月龄之间关系#

# q()                   #使用函数q ()结束程序#

输出结果:

 

 

2章 创建数据集

1.访问向量中元素

通过方括号中给定元素所处的数值,可以直接访问向量中的元素。例如,a[c(3,5)],访问向量a中的第3个和第5个元素。

代码清单:

a <- c(1, 2, 5, 3, 6, -2, 4)

a[3]

a[c(1, 3, 5)]

a[2:6]   #访问从第2个元素到第6个元素#

输出结果:

 

2.创建矩阵

矩阵都是二维的,和向量类似,矩阵中也仅能包含一种数据类型。

通过函数matrix创建矩阵,一般格式如下:

myymatrix <- matrix(vector, nrow=number_of_rows,          #nrow()#

ncol=number_of_columns,                               #ncol() #

byrow=logical_value,    # byrow=true(按行填充)/ byrow=false默认:按填充)#

dimnames=list(char_vector_rownames,char_vector_colnames))

 #dimnames包含了可选的以字符型向量表示的行名称和列名称#

代码清单①:

y <- matrix(1:20, nrow = 5, ncol = 4)   #输出从12054列,默认按列进行填充#

y

输出结果:

 

代码清单②:

cells <- c(1, 26, 24, 68)         #向量赋值#

rnames <- c("R1", "R2")        #行名称#

cnames <- c("C1", "C2")        #列名称#

mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = TRUE,  #22列,按行填充#

    dimnames = list(rnames, cnames))                     #行列名称赋值#

mymatrix

输出结果:

 

如果按照列填充:

cells <- c(1, 26, 24, 68)

rnames <- c("R1", "R2")

cnames <- c("C1", "C2")

mymatrix <- matrix(cells, nrow = 2, ncol = 2, byrow = FALSE,

    dimnames = list(rnames, cnames))

mymatrix

输出结果:

 

我们可以使用下标和方括号来选择矩阵的行、列或元素。X[i,]指矩阵x中的第i行,X[,j]指出第j列,x[i,j]指第i行第j个元素。选择多行或多列时,下标ij可为数值型向量,如下代码清单演示:

代码清单③:

x <- matrix(1:10, nrow = 2)     #没有对行、列名称进行命名,输出结果自动生成#

x

输出结果:

 

代码清单④:

x[2, ]      #输出矩阵x中第2#

 

x[,2]      #输出矩阵x中第2#

 

 

x[1,4] #输出矩阵x中第1行,第4#

 

x[1,c(4,5)]  #输出矩阵x中第1行,第45#

 

3.创建数组

数组(array)与矩阵类似,但是维度可以大于2。数组可通过array函数创建,形式如下:

myarray<-array(vector,dimensions,dimnames)  #vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,dimnames是可选的、各维度名称标签的列表#

代码清单:

dim1 <- c("A1", "A2")      

dim2 <- c("B1", "B2", "B3")

dim3 <- c("C1", "C2", "C3", "C4")

z <- array(1:24, c(2, 3, 4), dimnames = list(dim1, dim2, dim3))   

#1~24按照列排方式,排列在423列,创建成三维(2×3×4)数值型数组#

z

输出结果:

 

4.创建数据框

数据框是R中最常见的数据结构,数据框中不同的列可以包含不同模式的数据。

mydata <-data.frame(col1,col2,col3,…)   #列向量col1col2,col3,…可为任何类型,每一列的名称可由names指定。

代码清单①:(创建)

patientID <- c(1, 2, 3, 4)

age <- c(25, 34, 28, 52)

diabetes <- c("Type1", "Type2", "Type1", "Type1")

status <- c("Poor", "Improved", "Excellent", "Poor")

patientdata <- data.frame(patientID, age, diabetes, status)

patientdata

输出结果:

 

代码清单②:(选取数据框中的元素)

patientdata[1:2]

 

#或者patientdata[c("patientID","age")]  结果一样#

代码清单③:(选取数据框中的列向量)

patientdata$age     #$表示选取特定列向量#

 

代码清单④:(table生成列联表)

tablepatientdata$diabetes,patientdata$status

 

5.因子的使用

factor()以一个整数向量的形式存储类别值,整数的取值范围是[1…k],同时一个由字符串(原始值)组成的内部向量将映射到这些整数上。

如:向量:diabetes<-c(“Type1”, “Type2”, “Type1”, “Type1”)

diabetes<-factordiabetes)将此向量存储为(1,2,1,1),并在内部将其关联为1=Type12=Type2(具体赋值根据字母顺序而定)

要表示有序型变量,需要为函数factor()指定参数ordered=TRUE。给定向量:

status<-c(“Poor”,“Improved”,“Excellent”,“Poor”)

语句status<-factor(status,ordered=TRUE)会将向量编码为(3,2,1,3),并在内部将这些值关联为1=Excellent2=Improved以及3=Poor。另外,针对此向量进行的任何分析都会将其作为有序型变量对待,并自动选择合适的统计方法。

 

levels()可以覆盖默认排序。例如

status<-factor(status,order=TRUE,levels=c(“Poor”,“Improved”,”Excellent”))

各水平的赋值将为1=Poor2=Improved3=Excellent

代码清单:(因子的使用

patientID <- c(1, 2, 3, 4)

age <- c(25, 34, 28, 52)

diabetes <- c("Type1", "Type2", "Type1", "Type1")

status <- c("Poor", "Improved", "Excellent", "Poor")

diabetes <- factor(diabetes)

status <- factor(status, order = TRUE)

patientdata <- data.frame(patientID, age, diabetes, status)

str(patientdata)

运行结果:

 

summary(patientdata)

 

6.列表

列表(list)是R的数据类型中最为复杂的一种。一般来说,列表就是一些对象(或成分,component)的有序集合。列表的好处:1.列表允许以一种简单的方式组织和重新调用不相干的信息。2.许多R函数的运行结果都是以列表的形式返回的。列表允许你整合若干(可能无关的)对象到单个对象名下。例如,某个列表中可能是若干向量、矩阵、数据库,甚至其他列表的组合。可以使用函数list()创建列表:

mylist<-list(object1,object2,…)

其中的对象可以是目前为止讲到的任何结构。也可以将列表中对象命名为:

mylist<-list(object1,object2,…)

代码清单:(列表)

g <- "My First List"

h <- c(25, 26, 18, 39)

j <- matrix(1:10, nrow = 5)

k <- c("one", "two", "three")

mylist <- list(title = g, ages = h, j, k)      #创建列表#

mylist                              #输出整个列表#

运行结果:

$title

[1] "My First List"                #字符串#

 

$ages

[1] 25 26 18 39                   #数值型向量#

 

[[3]]

     [,1] [,2]                    #矩阵#

[1,]    1    6

[2,]    2    7

[3,]    3    8

[4,]    4    9

[5,]    5   10

 

[[4]]                            #字符型向量#

[1] "one"   "two"   "three"

访问:可以通过在双重方括号中指明代表某个成分的数字或名称来访问列表中的元素。如输入mylist[[2]]或mylist[[“ages]]均指向量“[1] 25 26 18 39”。

 

 

R语言的数据导入与导出学习笔记

 卡卡 2013-04-29 10:45:20

福尔·摩斯曾说过:“数据,数据,没有数据的推理是罪恶!”不过比起有意思的统计分析,数据的导入与导出显得十分的无趣,但是不得不说统计分析的数据导入与导出是个让人沮丧的任务,而且耗时巨大。

 

今天分享的是R中数据的输出与一些特定格式的数据读入。

 

一、数据的输出

 

 R中提供了write.table(),cat()等函数来导出数据。不过值得指出的是R语言能够导出的数据格式是有限的,比如在基本包中,我们能够导出数据的格式只有txt,csv。

 

 现在介绍一下两个函数的用法:

 

 write.table(x, file = “”, append =FALSE, quote = TRUE, sep = ” “,

 

 eol = “\n”, na = “NA”, dec = “.”,row.names = TRUE,

 

 col.names = TRUE, qmethod = c(“escape”, “double”),

 

 fileEncoding = “”)

 

write.csv(…)

 

 write.csv2(…)

 

 write.csv(),write.csv2()可以看做write.table()的变体,我们知道write.csv(),与参数sep=“,”的write.table()是等效的。下面介绍几个常见参数:

 

 x:数据集

 

 file:文件的路径,包括文件名如:”D:/R/data/data1.csv”

 

 quote:数据在写入文件中时我们常用引号将其隔开,当参数为F时,文件中的数据不再用引号修饰

 

 append:是否追加,如果文件名已存在而没有选择追加,那么文件将会被覆盖。(覆盖时是没有提示的,所以命名需要注意一些。

 

 cat(… , file = “”, sep = ” “, fill = FALSE, labels = NULL,

 

 append = FALSE)

 

 cat()作为一个输出函数与dos命令差不多,也是将数据集或数据写入文件中,常用参数和write.table()类似。

 

 cat()函数用来输出,可以把多个参数连接起来再输出(具有paste()的功能)。

 

 

例如:

 

 > cat(c(“AB”, “C”),c(“E”, “F”), “n”, sep=”/ “)

 

 AB/ C/ E/ F/ n

 

 还可以指定一个参数file=给一个文件名,可以把结果写到指定的文件中,如: > cat(“i = “, 1, “n”, file=”d:/R/data2.txt”)如果指定的文件已经存在则原来内容被覆盖。加上一个append=TRUE参数可以不覆盖原文件而是在文件末尾附加,这很适用于运行中的结果记录。

 

 当然cat()的用法比较丰富,也可以用来查看文件,与format合用控制输出格式等。

 

二、数据的导入

 

先介绍R中基本的读取数据函数read.table()的用法:

 

read.table(file, header = FALSE, sep = “”, quote = “\”‘”,

 

dec = “.”, row.names, col.names,

 

as.is = !stringsAsFactors,

 

na.strings = “NA”, colClasses = NA, nrows = -1,

 

skip = 0, check.names = TRUE, fill = !blank.lines.skip,

 

strip.white = FALSE, blank.lines.skip = TRUE,

 

comment.char = “#”,

 

allowEscapes = FALSE, flush = FALSE,

 

stringsAsFactors = default.stringsAsFactors(),

 

fileEncoding = “”, encoding = “unknown”, text)

 

read.csv(file, header = TRUE, sep = “,”, quote=”\”", dec=”.”,

 

fill = TRUE, comment.char=”", …)

 

read.csv2(file, header = TRUE, sep = “;”, quote=”\”", dec=”,”,

 

fill = TRUE, comment.char=”", …)

 

read.delim(file, header = TRUE, sep = “\t”, quote=”\”", dec=”.”,

 

fill = TRUE, comment.char=”", …)

 

read.delim2(file, header = TRUE, sep = “\t”, quote=”\”", dec=”,”,

 

fill = TRUE, comment.char=”", …)

 

介绍常用参数:

 

File:文件路径,可以用绝对路径也可以用相对路径,R的工作目录你可以使用getwd()来查看,用setwd()来改。

 

Header:读取文件的第一行是否用作变量名

 

Sep:分隔符,参数为“,“时等价于read.csv()

 

Scan()函数也是一个读取数据比较好的函数,但是参数较为复杂,我们可以说,read.table()函数是scan函数的设定好部分参数的结果。

 

Read.delim()这个可以读到剪贴板的东西,用法为read.delim(clipboard)其他参数与read.table相同。

 

Read.fwf()读取固定长度的数据,也可以利用这个特性截去数据的尾巴或者表格的尾巴。

 

自带的foreign包可以实现s-plus,sas,spss,stata的数据读入。以读stata数据为例:

 

>Read.dta(“d:/R/data3.dta”)其他参数与read.table也是一样的。

 

遗憾的是,基本包与foreign包都没有办法读取excel的数据。但这并不代表我们没办法读取excel的数据。例如我们可以将excel的数据放在剪贴板中,通过read.delim(clipbroad)来读取。也可以将excel表格变成csv格式的再处理。最后指出,R中的gdata包的read.xls函数以及RODBC包中也有相应的处理函数。

 

本文的最后,运用R语言的帮助文档《R数据的导入与导出》中的一段话作为结束:“In general, statistical systems like R arenot particularly well suited to manipulations of large-scale data. Some othersystems are better than R at this, and part of the thrust of this manual is tosuggest that rather than duplicating functionality in R we can make anothersystem do the work! (For example Therneau & Grambsch (2000) commented thatthey preferred to do data manipulation in SAS and then use packagesurvival in S for the analysis.)”

 

From:http://blog.csdn.net/yujun7654321/article/details/8117421

 

原文链接:http://tezhengku.com/topic/?p=563

 

 

R语言-数据导入

  • |
  • 浏览:241
  • |
  • 更新:2015-09-29 16:51
  • |
  • 标签:软件 

R语言,最适合统计研究背景的人员学习,具有丰富的统计分析功能库以及可视化绘图函数可以直接调用。通过Hadoop-R更可支持处理百亿级别的数据。

工具/原料

  • 电脑
  • R软件

方法/步骤

  1. 1

1、导入 CSV文件

1)使用 read.csv函数导入CSV文件

2)read.csv函数语法: read.csv (file)

3)案例: data1 <- read.csv ("D:/data/datatable.csv")    --绝对路径

  1. 2

2、导入文本文件

1)使用 read.table函数导入CSV文件

2)read.table函数语法: read.table (file, header = FALSE, sep="", …)

file:文件路径

header:文件标题行(文件头),默认为 FALSE,表示没有标题行

sep:分隔符,默认为空,表示默认把数据导入成一列

3)案例

data2 <- read.table ("D:/data/datatable.csv", header = TRUE, sep ="," )

data3 <- read.csv ("D:/data/datatable.csv", header = TRUE, sep ="," )

  1. 3

3、导入 Excel文件

1) Excel文件导入步骤(x86操作系统)

引入 RODBC包

install.packages ("RODBC")

library (RODBC)

注:安装包时,包名需要加引号,而引入包时不加引号!

使用 odbcConnectExcel函数来连接 Excel 2003(后缀名为 .xls)

odbcConnectExcel函数语法: odbcConnectExcel (file) 

案例: connect1 <- odbcConnectExcel ("D:/data/datatable.xls") 

使用 odbcConnectExcel2007函数来连接 Excel 2007(后缀名为 .xlsx)

odbcConnectExcel函数语法: odbcConnectExcel2007 (file) 

案例: connect2 <- odbcConnectExcel ("D:/data/datatable.xlsx") 

使用 sqlFetch函数来读取 Excel中的 Sheet数据

sqlFetch函数语法: sqlFetch (connectname, Sheetname)

案例:data4 <- sqlFetch (connect1, "datasheet")

使用 odbcClose函数关闭 R和 Excel的连接

odbcClose函数语法: odbcClose (connectname)

案例: odbcClose (connect1)

  1. 4

2)Excel文件导入步骤(x64操作系统)

引入 XLConnect包(需安装JDK程序)

使用 loadworkbook函数来加载 Excel文件

loadworkbook函数语法: loadworkbook (file)

案例: connect3 <- loadworkbook ("D:/data/datatable.xls")

使用 readworksheet函数来读取 Excel文件数据

readworksheet函数语法: readworksheet (connectname, Sheetname)

案例: data5 <- readworksheet (connect1, "datasheet")

 

R 数据的导入和导出

Next: Notes 

R 数据的导入和导出

这是从R中导入或导出数据的一个指导手册。

本文档的当前版本为0.01 β。该文档译自 R-2.6.1 文档(2007年11月26日)。

丁国徽([email protected] 译。

本文档的一些发布信息放置在 http://www.biosino.org/R/R-doc/

ISBN 3-900051-10-0

Next: Introduction, Previous: Top, Up: Top 

说明

Next: Words from the Translator, Up: Notes 

版权声明

英文文档版权声明:

Copyright © 2000–2006 R Development Core Team

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Development Core Team.

参考译文如下(具体以英文原文为准):

版权 © 2000–2007 R Development Core Team

在遵守并包含本文档版权声明的前提下,制作和发布本文档的完整拷贝是允许的。 并且,所有这些拷贝均受到本许可声明的保护。

在遵守上述完整拷贝版本有关版权声明的前提下,拷贝和发布基于本文档完整 拷贝的修改版本是允许的,并且,发布所有通过修改本文档而得到的工作成果, 须使用与本文档的许可声明一致的许可声明。

在遵守上述修改版本版权声明的前提下,拷贝和发布本文档其它语言的翻译版本 是允许的,如果本许可声明有经 R 核心开发小组(R Development Core Team)核 准的当地化译本,则遵循当地化译本。

关于本中文翻译文档的版权声明:

本文档为自由文档(GNU FDL), 在GNU自由文档许可证(http://www.gnu.org/copyleft/fdl.html)下发布, 不明示或者暗示有任何保证。本文档可以自由复制,修改,散布,但请保留使用 许可声明。

Next: Acknowledgements, Previous: Copyright, Up: Notes 

译者前言

不能期望一个软件可以做所有的事情1R 也不例外。因此, R 需要和其它东西协作。包括我们人类,需要我们输入数据,导出数据。包括我们的 其它软件,Excel,SPSS,等等,数据格式都是特异的,需要R 特别处理。 包括我们的数据库系统,R 不是用来管理数据的,所以需要专业的数据库帮忙。 也包括不同机器间,上面编译的 R 也是需要交换数据。这一册文档就是描述这些事情的。

R 的主要目的就是分析数据。虽然,你可以用它来处理文档,画个奥运会的鸟巢,R 的主要目的还是数据分析。这是专业化个性化的时代,特色取胜。

这个文档在几年前就写了一些。很实用的一个文档。开发人员可以大致了解 R 和其它软件大致的通讯情况,非开发人员至少可以了解, R 通过包能直接读取Excel表格。

已经是凌晨了,不多写了。

任何问题和建议可以给Email!

感谢身边的朋友!

丁国徽

Email:[email protected]

2008年1月6日

Previous: Words from the Translator, Up: Notes 

致谢

手册中关系数据库的内容部分基于Douglas Bates 和 Saikat DebRoy早期写的 一个手册。本手册主要由 Brian Ripley 编写。

这里用到很多扩展包都是由自愿者贡献。这里提到的包以及主要作者如下,

CORBA

Duncan Temple Lang 

foreign

Thomas Lumley, Saikat DebRoy, Douglas Bates, Duncan Murdoch and Roger Bivand 

hdf5

Marcus Daniels 

ncdf

David Pierce 

ncvar

Juerg Schmidli 

rJava

Simon Urbanek 

RMySQL

David James and Saikat DebRoy 

RNetCDF

Pavel Michna 

RODBC

Michael Lapsley and Brian Ripley 

RSPerl

Duncan Temple Lang 

RSPython

Duncan Temple Lang 

SJava

John Chambers and Duncan Temple Lang 

XML

Duncan Temple Lang 

Brian Ripley 是实现R的连接(connection)支持的作者。

Next: Spreadsheet-like data, Previous: Notes, Up: Top 

1 绪论

尽管大多数读者觉得统计分析非常有趣,但为统计分析读入数据以及 把结果导出到其它系统以方便报表编写可能是一件比统计分析更花时间 和难办的差事。

本手册描述了 R 自身以及从 CRAN 获得的一些包里面的 数据导入和导出功能。这里描述的一些包可能还正在开发,但它们已经 提供了一些非常有用的功能了。

除非特别说明,本手册中描述的所有功能可以在各种平台运行的R 中使用。

通常,如R一类的统计系统特别不适合处理大尺度的数据。 其它一些系统在这方面可以比R作的好。本手册的部分要点是 建议用户可以用其它系统做数据处理工作而不是用 R 里面重复的功能( 例如,Therneau 和 Grambsch (2000) 就提到他们喜欢在SAS里面进行数据 处理,然后才用 S 的包 survival 进行数据分析)。 现在,还有几个包允许用其它编程语言(如Java, perl 和 python)开发的函数直接整合进R代码里面。这样 就可以更加方便地用这些语言的功能。 (见Omegahat项目(http://www.omegahat.org SJavaRSPerl 和 RSPython包,和来自 CRAN的rJava包)

值得注意到是 R 和 S 一样都来自Unix的小的可重用工具的传统, 因此,在数据导入前和结果导出后用awk 和 perl 等 工具处理数据都是值得