R语言求大神帮忙看一下程序

我写了一个R语言程序,但是发现最外面的循环只进行了一次,不知道问题出在哪里,请各位大神帮忙看一下~

setwd("D:/RBook/")
Fa=read.csv(file="D:/RBook/imp.csv",stringsAsFactors = default.stringsAsFactors())
i=1
j=1
St=c("")
Sp=c("")
DBH=0
SpName=c("")
RDBH=0
RABD=0
Imp=0
Station=c("")
Species=c("")
Alldata=data.frame(Station="example",Species="example",Imp=0)
while(Fa$生态站代码[i]!=NA)
{
i=i
j=1
while(Fa[i,1]==Fa[i+1,1])
{
St[j]=as.character(Fa[i,1])
Sp[j]=as.character(Fa[i,2])
DBH[j]=Fa[i,3]
i=i+1
j=j+1
}
St[j]=as.character(Fa[i,1])
Sp[j]=as.character(Fa[i,2])
DBH[j]=Fa[i,3]
Stin=data.frame(St,Sp,DBH)
TDBH=sum(Stin$DBH)
Tnid=j
SpName=as.character(unique(Stin$Sp))
Nsp=length(SpName)
l=1
m=1
for(l in 1:Nsp)
{
Nid=0
SpDBH=0
m=1
for(m in 1:Tnid)
{
if(SpName[l]==Stin$Sp[m])
{
Nid=Nid+1
SpDBH=SpDBH+Stin$DBH[m]
}
}
RDBH[l]=SpDBH/TDBH
RABD[l]=Nid/Tnid
Imp[l]=(RDBH[l]+RABD[l])/Nsp
Station[l]=as.character(Stin$St[m])
Species[l]=as.character(SpName[l])
l=1
}
Dfrm=data.frame(Station,Species,Imp)
Alldata=rbind(Alldata,Dfrm)
i=i+1
}
Result=Alldata[-1,]
write.csv(Result,file="D:/Rbook/result.csv",quote=FALSE)

第1个回答  2015-04-05
建议您去“炼数成金-Dataguru”网站学习R语言的课程,我可以提供一个优惠码:A998,学费减免50%。
R是一套完整的数据处理、计算和制图软件系统。是一个免费的自由软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使 用的,在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得。R既是功能强大的 统计和分析软件,同时也是完美的数据可视化制作工具,丰富的图形函数和外置包,几乎无限的扩展能力,使到我们的想象空间永远都不会达到上限。
第2个回答  2014-11-14
先把两个i变量区分开再说
第3个回答  2014-11-11
我也看不明白的啊
相似回答