用r语言读取excel文件一个excel文件并做pca分析

R语言读取EXCEL文件的各种方法
[转自]:http://way-back-home./.html
第一:R中读取excel文件中的数据的路径:
假定在您的电脑有一个excel文件,原始的文件路径是:D:\work\data\1
&&&&&&如果直接把这个路径拷贝到R中,就会出现错误,原因是:
&&&&\是escape
character(转义符),\\才是真正的\字符,或者用/
因此,在R中有两种方法读取该路径:
1:在R中输入一下路径:D:\\work\\data\\1
2:在R中输入一下路径:D:\\work\\data\\1
第二:R中读取excel文件中的数据的方法:
read.table(),read.csv(),read.delim()直接读取EXCEl文件时,都会遇到一下问题:“在读取‘.xls’的TableHeader时遇到不完全的最后一行”。解决的方法有以下几种:假如文件1.1中是一个6乘以2的矩阵,元素为:
&&&&&&&&&&&&&
方法1:xls另存为csv格式然后用read.csv:
具体过程如下:
data&-read.csv("D:\\work\\data\\1.csv")
& data&-read.csv("D:\\work\\data\\1.csv",header = F)
1& 1 23333
& data&-read.csv("D:\\work\\data\\1.csv",header = T)
& X1 X23333
也就是说header =
T(TURE)是默认的状态,在这默认状态下,输出的data矩阵是一个5乘以2的矩阵,第一行作为了data的名字,如果header
F(FALSE),则会现实原始的矩阵结果。
&& 方法2:xls另存为txt格式然后用read.table:
如例子所示:
data&-read.table("D:\\work\\data\\1.txt",header = T)
data&-read.table("D:\\work\\data\\1.txt",header = F)
方法3:打开EXCEL,全选里面的内容,点击复制,然后在R中输入一下命令:
read.table("clipboard", header = T, sep =
'\t')结果如下所示:
&& data &-
read.table("clipboard", header = T, sep = '\t')
& data &- read.table("clipboard", header = F, sep =
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Excel R语言读取Excel文件的内容 - 为程序员服务
为程序员服务
R语言读取Excel文件的内容
R语言读取Excel文件的内容
读取Excel文件的内容
# Goal: Reading in a Microsoft .xls file directly
library(gdata)
a &- read.xls(&file.xls&, sheet=2)
# This reads in the 2nd sheet
# Look at what the cat dragged in
# If you have a date column, you'll want to fix it up like this:
a$date &- as.Date(as.character(a$X), format=&%d-%b-%y&)
a$X &- NULL
# Also see http://tolstoy.newcastle.edu.au/R/help/06/04/25674.html for
# another path.
您可能的代码
相关聚客文章
相关专栏文章R语言之主成分分析
主成分分析R软件实现程序(一):
&d=read.table("clipboard",header=T)
#从剪贴板读取数据
&sd=scale(d)&
#对数据进行标准化处理
#输出标准化后的数据和属性信息,把标准化的数据拷贝到剪贴板备用
&d=read.table("clipboard",header=T)&
#从剪贴板读取标准化数据
&pca=princomp(d,cor=T)&
#主成分分析函数
&screeplot(pca,type="line",mian="碎石图",lwd=2)&
#画出碎石图
从碎石图上可以看出,前两个主成分的方差贡献率比重比较大,下面计算前两个主成分的累积方差贡献率是否超过80%……
&dcor=cor(d) #求相关矩阵
&deig=eigen(dcor)&
#求相关矩阵的特征值和特征向量
&deig$values #输出特征值
&sumeigv=sum(deig$values)
&sumeigv&&
&sum(deig$values[1:2])/k
#求前两个主成分的累积方差贡献率
&pca$loadings[,1:2]&
#输出前2个主成分的载荷系数
观察载荷系数可以得到:主成分C1在……
&deig$values[1]/k;deig$values[2]/k;
#计算主成分C1、C2的系数b1、b2
C=(b1*C1+b2*C2)/(b1+b2)=q1*C1+q2*C2
&s=pca$scores[,1:2] #输出前两个主成分的得分
&c=s[1:评价对象的个数,1]*q1+s[1:评价对象的个数,2]*q2
&cbind(s,c)
然后把综合得分c的值从小到大排序,得到最后评价结果。
注意:在这里c的值指的是c的实数的值,并非绝对值。
主成分分析R软件实现程序(二):
在excel中点击复制要读取的文件
&data&-read.table("clipboard",header=T,sep='\t')
&data.pr&-princomp(data,cor=TRUE)
#data为数据矩阵或数据框,cor为是否用相关阵,默认为协差阵,scores为是否输出成分得分
&summary(data.pr,loading=TRUE)
#loading=TURE选项列出了主成分对应原始变量的系数
& 其中:standard deviation 标准偏差
Porportion of Variance 贡献率(方差比例)
comulative proportion 累计贡献率(累计比例)
画出三种碎石图:
&screeplot(data.pr)&
&biplot(data.pr)&&&
&screeplot(data.pr,type=("line"))&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 r语言批量读取excel 的文章

 

随机推荐