我用if语句尝试了一个很小的代码,尽管它非常简单,但我真的很困惑的是代码
n<-857
while(n!=1){
if(n<=0)
print("please input a positive integer")
else if(n%%2==0)
n<-n/2
print(n)
else
n<-3*n+1
print(n)
}
Run Code Online (Sandbox Code Playgroud)
正如我们在上面看到的,当在R中运行此代码时,会出现错误,但是如果我更改if语句就像这样
if(n<=0)
print("please input a positive integer")
else if(n%%2==0)
n<-n/2
else
n<-3*n+1
Run Code Online (Sandbox Code Playgroud)
没关系,我的问题是我们每次判断只能写一行吗?如果我想在每个评判后做更多的事情,我该怎么做,就像这个案例一样,我想改变n的值,但也想要显示它,我该怎么办?非常感谢你
我想问一个关于barplot轴的问题:
首先请看我的数据.
SerNo DOY Rain
1 350 0
2 351 0
3 352 0
4 353 0
5 354 0
6 355 0
7 356 0
8 357 0
9 358 0
10 359 0
11 360 0
12 361 0
13 362 0
14 363 0
15 364 0.7
16 365 2.7
17 1 0
18 2 0
19 3 0
20 4 2
21 5 0
22 6 0
23 7 0
24 8 0
25 9 0 …Run Code Online (Sandbox Code Playgroud) 我想绘制一个双Y轴图表,但是当我命名正确的Y轴名称时,名称不能在右边绘制,而是放在左边Y轴的标签上,我该怎么办?
plot(1:length(S285$LAI),S285$LAI,axes=F,type="o",pch=1,xlim=c(1,length(S285$LAI)),ylim=c(0,6),xlab="",ylab="LAI",cex.lab=1.5)
axis(side=1,kk1,S285$DAY[kk1])
axis(side=2,seq(0,5,1),seq(0,5,1))
par(new=T)
plot(1:length(S285$LAI),S285$WSO,axes=F,type="o",pch=15,xlim=c(1,length(S285$LAI)),ylim=c(0,10000),xlab="",ylab="WSO")
axis(side=1,kk1,S285$DAY[kk1])
axis(side=4,seq(0,10000,1000),seq(0,10000,1000))
mtext("DOY285??",side=3,line=-3.5,at=15)
legend(x=1,y=6000,legend=c("LAI","??"),pch=c(1,15),cex=1.1,lty=c(1,1))
Run Code Online (Sandbox Code Playgroud)
如果您运行此代码,两个标签"LAI"和"WSO"将聚在一起,如何将WSO绘制到右侧?谢谢你们
我需要用数据读取许多文件,但我无法使其工作.
例如:我有6个ASCII文件名为"雨,风等......"
这就是我的想法:
namelist<-c("rain","wind","sunshine hour","radiation","soil moisture","pressure")
for (i in 1:6){
metedata<-read.table('d:/namelist[i].txt')
metedata
}
Run Code Online (Sandbox Code Playgroud)
但那没用.我该怎么办?