areg
A Handbook of Statistical Analyses Using R
直接到网上下载PKG就可以得到这些学习资料,它的包名:HSAUR
我刚才看看了这个包,对于初学R或担心学不好R,或者说了解不全面的朋友们,还是很有帮助的一个学习包。应该叫做“入门学习包”
##############################################
#
# 后面各帧将逐步总结此手册的学习及如何解决手册中的异常问题,望多指正。
#
##############################################
Preface
This book is intended as a guide to data analysis with the R system for statistical
computing. R is an environment incorporating an implementation of
the S programming language, which is powerful, flexible and has excellent
graphical facilities (R Development Core Team, 2005). In the Handbook we
aim to give relatively brief and straightforward descriptions of how to conduct
a range of statistical analyses using R. Each chapter deals with the analysis
appropriate for one or several data sets. A brief account of the relevant statistical
background is included in each chapter along with appropriate references,
but our prime focus is on how to use R and how to interpret results. We
hope the book will provide students and researchers in many disciplines with
a self-contained means of using R to analyse their data.
…………………………
Brian S. Everitt and Torsten Hothorn
London and Erlangen, December 2005
areg
近来,翻了不少R统计软件的PKG,感觉就如小河沟里的小鱼到了大江入海口,PKG里有许多经典的分析方法,也有许多最新的分析探讨,往往大多数包中都有详细的介绍和说明,并且多数都带有该包的示例数据集,这样的资料值得好好利用,结合你的专长,把感觉不错的包介绍到论坛上,这对一些初入门的朋友们非常有用,我希望各位高手在这方面多出点力。
好包这条龙画好啦,请各位大师或还不是大师的大师级水平的朋友,多多点睛!支持R,利用好R。
yihui
多谢推荐!我也安装了学习学习:)
bjt
thanks
areg
我把前言、第1到16章,再加包的注解加上,连成一个新PDF文件,但是它在每章都保持原样,我想把其中每章那个空白页给去除,这在PDF中,没有找到相应的选择项。去除PDF中的空白页,如果去除方便,知道的人不防告诉一下,如果去除不太方便,那就不用了,大不了多翻几下。
yihui
推荐你使用Adobe Acrobat 7.0 Professional,可以把空白页直接删除
areg
A Handbook of Statistical Analyses Using R
Brian S. Everitt and Torsten Hothorn
############################################################
#
#Preface
#
############################################################
注意:下面省略提示符,以便直接考入R控制台,以下相关函数命令同理。
install.packages("HSAUR")
library("HSAUR")
# 得到结果如下:
> library("HSAUR")
载入需要的程辑包:lattice
载入需要的程辑包:MASS
载入需要的程辑包:scatterplot3d
# 说明此包需要其它三个包的支持,它们是:lattice,MASS和scatterplot3d
这给我们一个提示,在学习过程中,需要提前准备不少PKG,因为你在学习过程中,不一定有网络连接或网络的速度不通畅,提前把包下来,并安装好,只要在需要是载入即可。
library("lattice"); library("MASS"); library("scatterplot3d")# 载入包时,要注意,R对大小写敏感,同一字母的大小写是不同的字符,在双引号内,空格也是一个字符,如果你在双引号内有空,而包没有,那将返回不存在某某程序包。
vignette("Ch_introduction_to_R", package = "HSAUR")
# 这将显示该安装内的帮助文件Ch_introduction_to_R,(本例中是一个PDF格式)
edit(vignette("Ch_introduction_to_R", package = "HSAUR"))
# 将得到下列结果:
###################################################
### chunk number 1: setup
###################################################
rm(list = ls())
if (!file.exists("tables")) dir.create("tables")
set.seed(290875)
options(prompt = "R> ", width = 63, # digits = 4,
SweaveHooks = list(leftpar = function()
par(mai = par("mai") * c(1, 1.05, 1, 1))))
HSAURpkg <- require("HSAUR")
if (!HSAURpkg) stop("cannot load package ", sQuote("HSAUR"))
rm(HSAURpkg)
### </FIXME> hm, R-2.4.0 --vanilla seems to need this
a <- Sys.setlocale("LC_ALL", "C")
### </FIXME>
###################################################
### chunk number 2: AItR-welcome
###################################################
HSAUR:::Rwelcome()
cat("\n>\n")
options(prompt = "> ")
# 如果想全面看看该包中的介绍,输入下全命令:
vignette(package = "HSAUR")
# 得到下列结果:
Vignettes in package 'HSAUR':
Ch_analysing_longitudinal_dataI
Chapter Analysing Longitudinal Data I (source,
pdf)
Ch_analysing_longitudinal_dataII
Chapter Analysing Longitudinal Data II (source,
pdf)
Ch_analysis_of_variance
Chapter Analysis of Variance (source, pdf)
Ch_cluster_analysis Chapter Cluster Analysis (source, pdf)
Ch_conditional_inference
Chapter Conditional Inference (source, pdf)
Ch_density_estimation Chapter Density Estimation (source, pdf)
Ch_errata Errata (source, pdf)
Ch_introduction_to_R Chapter An Introduction to R (source, pdf)
Ch_logistic_regression_glm
Chapter Logistic Regression and Generalised
Linear Models (source, pdf)
Ch_meta_analysis Chapter Meta-Analysis (source, pdf)
Ch_multidimensional_scaling
Chapter Multidimensional Scaling (source, pdf)
Ch_multiple_linear_regression
Multiple Linear Regression (source, pdf)
Ch_principal_components_analysis
Chapter Principal Component Analysis (source,
pdf)
Ch_recursive_partitioning
Chapter Recursive Partitioning (source, pdf)
Ch_simple_inference Chapter Simple Inference (source, pdf)
Ch_survival_analysis Chapter Survival Analysis (source, pdf)
preface Chapter Preface (source, pdf)
# 上面列出该包中可获得的资源介绍。
areg
##################################################################################
#
# CHAPTER 1
# An Introduction to R
# 1.1 What Is R? 略
# 1.2 Installing R
#
####################################################################
x <- sqrt(25) + 2
x
7 # 执行命令的结果。
print(x)
7 # 执行显示结果
# 下面是一些整合到软件中的基本包
#####################################################################
#
# KernSmooth MASS boot class
# cluster foreign lattice mgcv
# nlme nnet rpart spatial
# survival base datasets grDevices
# graphics grid methods splines
# stats stats4 tcltk tools
# utils
#
#####################################################################
install.packages("sandwich") # 安装sandwich包
> library("sandwich")
载入需要的程辑包:zoo
载入需要的程辑包:'zoo'
The following object(s) are masked from package:base :
rapply
> # 提示包sandwich的载入需要zoo包的支持
library("zoo"); library("sandwich") # 需要载入的包时,命令可以在同一行用分号“;”把各命令连在一起用。
####################################################################
#
# CHAPTER 1
# An Introduction to R
# 1.3 Help and Documentation
#
####################################################################
help("mean") # 或者用?mean,打开平均数函数mean的帮助文件,打开一个文件“R Help for package base",如下
#####################################################################
#
# mean(base)
# Arithmetic Mean
# Description
# ……
# Usage
# mean(x, ...)
# ……
# Arguments
# ……
# Value
# ……
# References
# ……
# See Also
# weighted.mean, mean.POSIXct
#
# Examples
x <- c(0:10, 50)
xm <- mean(x)
c(xm, mean(x, trim = 0.10))
mean(USArrests, trim = 0.2)
#
######################################################################
# 下面是执行示例的结果:
> x <- c(0:10, 50)
> xm <- mean(x)
> c(xm, mean(x, trim = 0.10))
[1] 8.75 5.50
> mean(USArrests, trim = 0.2)
Murder Assault UrbanPop Rape
7.42 167.60 66.20 20.16
>
# 示例是很好的学习资源,必要时,还可以改动一下里面的参数,看看结果如何,以了解各参数的作用。
> c(xm, mean(x, trim = 0))
[1] 8.75 8.75
> c(xm, mean(x, trim =))
[1] 8.75 8.75
> c(xm, mean(x, trim =1))
[1] 8.75 5.50
> c(xm, mean(x, trim =0.9))
[1] 8.75 5.50
>
# 通过对上面trim的作用,也许英文帮助没有看懂,这样试几下,也就明白了,百闻不如一见,更不如一试再试啦。
help(package = "sandwich")
#########################得到下面的结果###############################
弹出一个新R框“没有这个程辑包的说明书”,框中显示下面内容。
######################################################################
善于程辑包'sandwich'的信息
描述:
Package: sandwich
Version: 2.0-0
Date: 2006-08-18
Title: Robust Covariance Matrix Estimators
Author: Thomas Lumley, Achim Zeileis
Maintainer: Achim Zeileis <Achim.Zeileis@R-project.org>
Description: Model-robust standard error estimators for
cross-sectional, time series and longitudinal data.
LazyLoad: yes
LazyData: yes
Depends: R (>= 2.0.0), stats, zoo
Suggests: car, lmtest, strucchange, Ecdat, survival, MASS
Imports: stats
License: GPL version 2
Packaged: Fri Aug 18 13:11:08 2006; zeileis
Built: R 2.4.0; ; 2006-10-04 01:48:38; windows
索引:
Investment US Investment Data
NeweyWest Newey-West HAC Covariance Matrix Estimation
PublicSchools US Expenditures for Public Schools
bread Bread for Sandwiches
estfun Extract Empirical Estimating Functions
isoacf Isotonic Autocorrelation Function
kweights Kernel Weights
meat A Simple Meat Matrix Estimator
sandwich Making Sandwiches with Bread and Meat
vcovHAC Heteroskedasticity and Autocorrelation
Consistent (HAC) Covariance Matrix Estimation
vcovHC Heteroskedasticity-Consistent Covariance Matrix
Estimation
weightsAndrews Kernel-based HAC Covariance Matrix Estimation
weightsLumley Weighted Empirical Adaptive Variance Estimation
可以在目录'C:/PROGRA~1/R/R-24~1.0PA/library/sandwich/doc'中的小文品内找到更多的信息
sandwich-OOP: Object-oriented Computation of Sandwich Estimators
(source, pdf)
sandwich: Econometric Computing with HC and HAC Covariance Matrix
Estimators (source, pdf)
########################################################################
#
# 由于本人的操作系统中文正版的,可能是系统自作多情,往往把一部分给翻译成中文了,我想许多人也时同样,不要因为那些离奇****的自动翻译而影响你的学习,能看明白和理解就可以。通过这个查看方法,可以粗略了解某个包使用条件和用途。
#
########################################################################
vignette("sandwich")
# 在本包中打开一个sandwich.pdf的文件,内容是该包的一些实际应用,它结合专业知识和该包模型基础(包括一些数学公式)。如果只是初步学习掌握R,这样文献资料可以暂时放一边,关了,以后再研究。如果是在用这个包分析你的研究课题,或想建自己的分析函数或包,那它除了在R的使用技艺之外,也是一个很好专业资料。别人在这样的资料上用这样的分析方法,得到什么的结论,那对分析自己的的研究资料,有很好的借鉴意义。
areg
####################################################################
#
# CHAPTER 1
# An Introduction to R
# 1.4 Data Objects in R
#
####################################################################
data("Forbes2000", package = "HSAUR") # 把数据集Forbes2000载入当前环境
ls()
[1] "Forbes2000" # 列出当前对象
print(Forbes2000) # 显示数据集Forbes2000,执行结果如下,在第32行出错,不能正确显示,这可能是该包在打包时或某阶段造成的错误,而发布此包者并不知道,而我们还想继续学习,怎么办?排名第32位正确显示了,而公司名没有显示。
####################################################################
……
31 31 Microsoft United States
32 32错误在print.default(as.matrix(format.data.frame(x, digits = digits, :
多字节字符串不对
>
####################################################################
Forbes2000[32,2]<-"FMISN1" # 用下标提取数据框中第32行,第2列,用个自己的字符串替换吧,本例为(find mistake name 1).替换后,再次运行print(Forbes2000)命令,又发现在第54行的公司名也错误,那用FMISN2替换,又运行print(Forbes2000)命令,在第883行公司名也出错,用FMISN3替换,再次运行显示命令,显示正常啦!同时又出现一个问题,显示很快,一下子全过去了,我们看不到这个数据集的全貌,眼见为实,我们的确想看看,证实一下自己的修改是否正确!下面我们先把错误之处修改后再继续。
Forbes2000[32,2]<-"FMISN1"
Forbes2000[54,2]<-"FMISN2"
Forbes2000[883,2]<-"FMISN3"
print(Forbes2000)
# 运行以上修改命令后,只显示该数据集后面的部分,并且其中一部分变量还没有显示出来,再运行一次或多次显示命令,直到最后列的最后结果也出来,但这种显示方式,不符合我们平时的习惯。
print(Forbes2000) # 当然显示设置是可以改变的,这个以后再介绍。
# 要具体看看Forbes2000数据集的整体情况,最简单的方式就是从R窗口工具栏“编辑”中点击“数据编辑器”,弹出一个小框,框头“Question”,副框名为“数据框或矩阵名”,框中有一个供你输入数据集名的栏,在此栏填入Forbes2000,然后点击确定,就弹出一个电子表格式数据编辑框,你就可以查看该数据人整体情况,也可以去看看你刚才改过的第32、54和883行的公司名。
# 注意,如果不把这几处错误更正,数据编辑辑器也不会让你打开的。
# 要打开一个已有数据集,最快方式是用命令fix(),如下:
> fix(Forbes2000)
> # 执行命令,就弹出数据编辑器。即数据的电子表格窗口。
# 在此部分,扩展了原包中没有的内容,纠错。提示我们,在学习过程中,一旦某处错了,不要轻易放弃,试着自己去修正,以获得资料的利用;也锻炼自己在以后的试验研究中某处出错锻炼处理技能。
str(Forbes2000) # 查看该数据集结构,结果如下:
#############################################################
> str(Forbes2000)
'data.frame': 2000 obs. of 8 variables:
$ rank : num 1 2 3 4 5 6 7 8 9 10 ...
$ name : chr "Citigroup" "General Electric" "American Intl Group" "ExxonMobil" ...
$ country : Factor w/ 61 levels "Africa","Australia",..: 60 60 60 60 56 60 56 28 60 60 ...
$ category : Factor w/ 27 levels "Aerospace & defense",..: 2 6 16 19 19 2 2 8 9 20 ...
$ sales : num 94.7 134.2 76.7 222.9 232.6 ...
$ profits : num 17.85 15.59 6.46 20.96 10.27 ...
$ assets : num 1264 627 648 167 178 ...
$ marketvalue: num 255 329 195 277 174 ...
>
#############################################################
help("Forbes2000") # 在此包中没有这个数据集的相关文献材料,执行命令后,它能给出你一些提示。
# 下面直接给出一些命令及执行结果的注释
> class(Forbes2000) # 显示数据集属于哪类
[1] "data.frame"
> dim(Forbes2000) # 显示数据集的维数
[1] 2000 8
> nrow(Forbes2000) # 显示数据集的行数
[1] 2000
> ncol(Forbes2000) # 显示数据集的列数
[1] 8
> names(Forbes2000) # 显示数据集中和变量名
[1] "rank" "name" "country" "category" "sales" "profits" "assets"
"marketvalue"
# 本例操作过程中,控制台打的是全屏,所在同一行的结果在此是两行,如果控制台窗口正常那样小个,将是[1],[2]等显示变量名。
> class(Forbes2000[, "rank"]) # 数据集中变量rank的属性
[1] "numeric" # 原来R是以S3语言为基础,那此处显示的是整数;现在显示的是数值型,这是S4语言中的显示。
> length(Forbes2000[, "rank"]) # 数据集中变量rank的长度。
[1] 2000
> class(Forbes2000[, "name"]) # 数据集中变量name的属性
[1] "character"
> length(Forbes2000[, "name"]) # 数据集中变量name的长度(记录数)
[1] 2000
> Forbes2000[, "name"][1] # 提取数据集中变量name下第1个行公司的名
[1] "Citigroup"
> class(Forbes2000[, "category"]) # 数据集的变量category的属性
[1] "factor"
> nlevels(Forbes2000[, "category"]) # 数据集上面得到它是一个因子变量,此处提取category有多少个因子水平
[1] 27
> levels(Forbes2000[, "category"]) # 变量category中各水平的分类归属
[1] "Aerospace & defense" "Banking"
[3] "Business services & supplies" "Capital goods"
…………# 出于显示目的,此处本人省略
[25] "Trading companies" "Transportation"
[27] "Utilities"
> table(Forbes2000[, "category"])
Aerospace & defense Banking
19 313
Business services & supplies Capital goods
70 53
…………# 出于显示目的,此处本人省略
Trading companies Transportation
25 80
Utilities
110
>
> class(Forbes2000[, "sales"]) # 数据集中变量sales的属性
[1] "numeric"
> median(Forbes2000[, "sales"]) # 由上面得到sales是数值型变量,因此可求它的中位数。
[1] 4.365
> mean(Forbes2000[, "sales"]) # 求变量sales的平均数
[1] 9.69701
> range(Forbes2000[, "sales"]) # 求变量sales的全距(即范围)
[1] 0.01 256.33
> summary(Forbes2000[, "sales"]) # 求变量sales的描述性统计,加进平均数,仍然称为‘五点描述’
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.010 2.018 4.365 9.697 9.547 256.300
> # 下一节介绍数据的导入和导出,请参考刘重杰老师翻译的文献。
三月小鱼
楼主推荐书好象要钱吧!
不能免费下载啊!
不知道你是在什么地方下!
麻烦告诉我一下1
我的油箱:ypxye@163.com
thank you!
areg
[quote]
引用第9楼三月小鱼于2006-11-15 22:26发表的“”:
楼主推荐书好象要钱吧!
不能免费下载啊!
不知道你是在什么地方下!
麻烦告诉我一下1
我的油箱:ypxye@163.com
.......[/quote]
http://www.r-project.org/
Download
CRAN
http://bibs.snu.ac.kr/R/ #国内东南大学的镜像更新不快,并且我连接的网速也不快,没有到韩国镜像连接得快,他们更新速度和速网我这面下都还可以。
Packages
进入
Contributed Packages # 这下面列出近千个包,在下面的列表中找到下包
HSAUR A Handbook of Statistical Analyses Using R
点击HSAUR,进入下载页面
去试试吧,不过为安装这个包,你可能还需要下其它几个包,如上面学习过程中提到的包名
祝成成功!
R软件开源,我把学习体会与大家交流,也属于于“开源”,非“楼主推荐书好象要钱吧!”
这种学习方式的交流,希望能对你有所帮助。
sociology
那本书是要钱的。
但是用于实现书中方法的软件是开源的。
areg
[quote]引用第11楼sociology于2006-11-15 23:57发表的“”:
那本书是要钱的。
但是用于实现书中方法的软件是开源的。[/quote]
包中自带,也可以从存包处的包外下载,不要钱
areg
####################################################################
#
# CHAPTER 1
# An Introduction to R
# 1.5 Data Import and Export
#
####################################################################
csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE,sep = ",", row.names = 1)
# 我在前面学习过程中,已经把Forbes2000以.csv保存在学习目录中D:\Rstudy下,如果没有保存,很可能存条命令不能正常执行,因为包中这个数据集有错误。该命令给出我们一个读取.csv格式的方式,如果自己用Excel做的表格,可以先转为它的.csv,再来读取,试着学习练习。
# 注意row.names = 1
class(csvForbes2000[, "name"])
[1] "factor" #默认时,把字符变量读成因子
csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE,sep = ",", row.names = 1, colClasses = c("character","integer", "character", "factor", "factor",
"numeric", "numeric", "numeric", "numeric"))
# 读取表格时,可以指定表中列(变量)属性来读取,如默认时,“name”读成因子,在此指定为字符。
# 为了复制方面和显示中好找原因的学习习惯,我很很少用+号,所以上面命令复制进入R控制台时,比较少。
class(csvForbes2000[, "name"])
[1] "character" # 由上面命令指定读取后,name的属性不再为因子,而是字符型。
all.equal(csvForbes2000, Forbes2000) # 下面是执行命令结果
错误在mode(current) : 找不到这个目标对象"Forbes2000" # 因为我是重新学习,前次学习后关机了,而对原包中的数据集Forbes2000本次启动还没有调入修改。重复以前的调入步骤。
# 由于知道原来包中的错误,这次直接调入修改命令。
data("Forbes2000", package = "HSAUR")
Forbes2000[32,2]<-"FMISN1"
Forbes2000[54,2]<-"FMISN2"
Forbes2000[883,2]<-"FMISN3"
print(Forbes2000) # 此命令可以不用,用它只是想证实一下,数据能否正常调入。
all.equal(csvForbes2000, Forbes2000)
[1] "Component 2: 3 string mismatches" # 表示在第二列的组分中,有三处的字符串不匹配,因为前次在保存了Forbes2000.csv的表中,第32、54、883位的公司名,我让其保留NA,以便在此增加练习机会。
# 我们把csvForbes2000数据集中的第32、54、883位也替换成发现的错误名(find mistake name 1,2,3)
csvForbes2000[32,2]<-"FMISN1"
csvForbes2000[54,2]<-"FMISN2"
csvForbes2000[883,2]<-"FMISN3"
all.equal(csvForbes2000, Forbes2000) #再次执行此命令,结果与原书作者一致啦。
[1] TRUE
classes <- c("character", "integer", "character","factor", "factor", "numeric", "numeric", "numeric","numeric")
# 把上面调入命令中的参数colClasses = c("character","integer", "character", "factor", "factor","numeric", "numeric", "numeric", "numeric"),即列变量的属性赋予向量classes。
length(classes) # 查看列数长度(变量数)
[1] 9
class(classes)
[1] "character"
# 该向量为字符型,同时我们也要想起,变量名中,不能以数字开头,不能是系统的保留名或保留字段,由变量名属性数据描述的是一些字符,其组成的向量当然是字符。
library("RODBC")
cnct <- odbcConnectExcel("Forbes2000.xls")
sqlQuery(cnct, "select * from \"Forbes2000$\"") # 执行此命令,结果显示可能为该包并没有完成手册中应有的材料。
[1] "[RODBC] ERROR: Could not SQLExecDirect"
[2] "S0002 -1305 [Microsoft][ODBC Excel Driver] Microsoft Jet 数据库引擎找不到对象'Forbes2000$'。请确定对象是否存在,并正确地写出它的名称和路径。"
>
write.table(Forbes2000, file = "Forbes2000.csv",sep = ",", col.names = NA)
# 导出数据集Forbes2000成以.csv为扩展名的文件,此类型文件,你很方便用Excel打开。
# 如果你设置的工作目录中已有同名文件存在,它将在没有任何提示的情况下被覆盖,用其它命令保存,遇有同名文件都要小心,尤其是在自己研究的试验数据分析时,在学习练习中就养成好习惯,是个不错的选择,以避免……。可以换成下面的命令练习一下。
write.table(Forbes2000, file = "Forbes.csv",sep = ",", col.names = NA) # 将在你设置的工作目录中出现一个Forbes.csv文件。
save(Forbes2000, file = "Forbes2000.rda")
# 如果想看看当前工作目录中有些什么文件,用下面的命令,也即查看下刚才保存的文件是否真的保存了!
list.files(pattern = ".rda")
[1] "Forbes2000.rda"
# 保存为.Rda的R标准文件,此文件不能如我们平时打开其它文件那样打开,如打开个word,双击就打开了,而此文件的读取,需要用下面的命令在R中打开。
load("Forbes2000.rda")
# 载入以R标准数据保存的文件。
################################################################
#
# 第一章 第五节学习总结完毕 下节介绍数据的基本处理(操作)
#
################################################################
denver
楼主这样手把手的教,使我这种天生愚钝的人都能学会。不过现在有个问题:我今天下载的包,发现Forbes2000数据中的错误已经被修正了。另外我运行print(Forbes2000)时显示如下信息:
1977 Food drink & tobacco 2.86 0.13 2.38 1.22
1978 Trading companies 5.50 0.07 1.81 0.35
1979 Banking 0.76 0.06 12.01 0.81
1980 Trading companies 5.48 -0.03 1.50 0.25
1981 Materials 1.46 -0.06 4.22 4.24
1982 Construction 5.46 -0.13 2.92 1.67
1983 Telecommunications services 0.64 -0.04 1.91 6.29
1984 Banking 0.84 0.09 8.68 0.54
1985 Diversified financials 0.19 0.25 1.14 1.51
1986 Banking 0.34 0.04 11.79 0.38
1987 Banking 0.58 0.10 7.42 1.50
1988 Construction 3.84 0.04 4.08 0.71
1989 Consumer durables 2.00 0.11 1.82 3.23
1990 Diversified financials 0.58 0.14 3.71 2.46
1991 Materials 2.76 0.04 5.28 2.15
1992 Utilities 2.24 0.11 2.21 2.75
1993 Media 1.03 -0.06 1.53 6.02
1994 Telecommunications services 2.16 -3.62 8.67 1.42
1995 Construction 5.17 0.02 2.62 1.53
1996 Banking 0.48 0.02 11.27 1.47
1997 Business services & supplies 2.78 -0.22 2.96 3.29
1998 Materials 1.35 0.14 2.47 2.76
1999 Capital goods 5.09 0.00 2.71 0.88
2000 Banking 0.81 0.10 7.16 1.17
这好像是行业名称吧,与原来的数据不一样,不知道这是为什么?
denver
1.5部分问题多多。
首先,不知道如何正确的保存数据为cvs格式。我尝试了两种方法,第一是在rawdata文件夹中直接将xls文件另存为cvs格式;第二种是利用write.table命令。结果都是不能用csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE,sep = ",", row.names = 1)命令打开,它总是提示我
错误在file(file, "r") : 无法打开链结
此外: Warning message:
无法打开文件'$s',因为'$s'
不知道如何解决。
denver
很幸运能够在刚接触R的时候就遇到楼主,在楼主的带领下,我还是有信心将R学好的。
areg
[quote]引用第15楼denver于2006-11-16 10:31发表的“”:
1.5部分问题多多。
首先,不知道如何正确的保存数据为cvs格式。我尝试了两种方法,第一是在rawdata文件夹中直接将xls文件另存为cvs格式;第二种是利用write.table命令。结果都是不能用csvForbes2000 <- read.table("Forbes2000.csv", header = TRUE,sep = ",", row.names = 1)命令打开,它总是提示我
错误在file(file, "r") : 无法打开链结
此外: Warning message:
.......[/quote]
R中数据的建立、导出、再导入
方法很多,我们从最直观最简单的方式来了解
###############################################
# 新建数据
###############################################
mysrs<-data.frame()
fix(mysrs)
拟按把下面信息输入数据框,其中后两列选为数值型
mytime myRtime myStime
ONE 2 3
TWO 3 1
THREE 1 5
FOUR 2 2
FIVE 4 0.5
> print(mysrs)
mytime myRtime myStime
1 ONE 2 3.0
2 TWO 3 1.0
3 THREE 1 5.0
4 FOUR 2 2.0
5 FIVE 4 0.5
> str(mysrs)
'data.frame': 5 obs. of 3 variables:
$ mytime : chr "ONE" "TWO " "THREE" "FOUR" ...
$ myRtime: num 2 3 1 2 4
$ myStime: num 3 1 5 2 0.5
####################################################
# 导出数据或扩展保存为其它格式的数据,此处为.csv
####################################################
>write.table(mysrs, file = "mysrs.csv",sep = ",", col.names = NA)
# 到设定的目录下,将找到一个文件mysrs.csv
> ls()
[1] "mysrs"
> rm(mysrs)
> ls()
character(0)
>
###################################################
# 现在把文件mysrs.csv读回来(输入)
###################################################
> csvmysrs <- read.table("mysrs.csv", header = TRUE,sep = ",", row.names = 1)
> ls()
[1] "csvmysrs"
> print(csvmysrs)
mytime myRtime myStime
1 ONE 2 3.0
2 TWO 3 1.0
3 THREE 1 5.0
4 FOUR 2 2.0
5 FIVE 4 0.5
####################################################
####################################################
二:外部用Excel建立mysrsA.xls文件
####################################################
mytime myRtime myStime
周一 1.5 1.5
周二 2 1
周三 3 0.5
周四 1 2
周五 0.5 3.5
#####################################################
在Excel窗口中选择“文件”_“另存为”,在保存文件类型下拉列表中找到CSV(逗号分隔)(*.csv),在此我们为了区分,把文件另存名为mysrsB,点击完成,得到一个mysrsB.csv的文件。
#####################################################
> csvmysrsB <- read.table("mysrsB.csv", header = TRUE,sep = ",", row.names = 1)
> ls()
[1] "csvmysrs" "csvmysrsB"
> print(csvmysrsB)
myRtime myStime
周一 1.5 1.5
周二 2.0 1.0
周三 3.0 0.5
周四 1.0 2.0
周五 0.5 3.5
>
#####################################################
R中简单数据集的新建、导出和再导入,外部建立数据的转存和导入示例演示到此,不知我是否给你演示明白?
areg
[quote]引用第14楼denver于2006-11-16 09:16发表的“”:
不过现在有个问题:我今天下载的包,发现Forbes2000数据中的错误已经被修正了。.......[/quote]
刚才我到镜像去点上该包,自动安装,结果还是错的,等晚上抽个时间手动去下来看看。不过,一旦更正了,就少个学习锻炼的机会了啊:)
> print(Forbes2000)
rank name country category sales profits
1 1 Citigroup United States Banking 94.71 17.85
2 2 General Electric United States Conglomerates 134.19 15.59
……
31 31 Microsoft United States Software & services 34.27 8.88
32 32错误在print.default(as.matrix(format.data.frame(x, digits = digits, :
多字节字符串不对
>
执行还是错误,显示中,部分信息没有显示出来,把错误处改正,用数据编辑打开看看
denver
非常感谢楼主的指教,我对这部分内容已经非常明白了。