首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:“点击<Return>查看下一个情节:”在r中

错误:“点击<Return>查看下一个情节:”在r中
EN

Stack Overflow用户
提问于 2011-02-10 11:30:47
回答 2查看 10.6K关注 0票数 2

我有以下代码

代码语言:javascript
复制
frame()
Y = read.table("Yfile.txt",header=T,row.names=NULL,sep='')
X =  read.table("Xfile.txt",header=F,sep='')

plot(Y$V1~X$V1,pch=20,xlim=c(0,27))
par(new=T)
plot(Y$V1~X$V2,pch=20,xlim=c(0,27),col='red')
par(new=T)
plot(Y$V1~Y$V3,pch=20,xlim=c(0,27),col='blue')
par(new=T)

一切都很好,我在同一幅图上得到了这3幅图。但是,当我想将X$V1、X$V2和X$V3除以标准化数据时,

代码语言:javascript
复制
plot(Y$V1~X$V1/Y$V2,pch=20,xlim=c(0,27))
par(new=T)
plot(Y$V1~X$V2/Y$V2,pch=20,xlim=c(0,27),col='red')
par(new=T)
plot(Y$V1~Y$V3/Y$V2,pch=20,xlim=c(0,27),col='blue')
par(new=T) 

我明白

点击返回查看下一个情节:

而这些图表不能在同一个情节中显示。有人能告诉我发生了什么事以及如何解决吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 11:47:32

如果要在公式中使用算术操作,则必须使用I()函数。所以

代码语言:javascript
复制
plot(Y$V1~I(X$V1/Y$V2),pch=20,xlim=c(0,27))
par(new=T)
plot(Y$V1~I(X$V2/Y$V2),pch=20,xlim=c(0,27),col='red')
par(new=T)
plot(Y$V1~I(Y$V3/Y$V2),pch=20,xlim=c(0,27),col='blue')
par(new=T) 

很管用。

下面的帮助页指向formula

为了避免这种混淆,函数I()可以用来对模型公式中的那些部分进行括号,在这些部分中,操作符都是在算术意义上使用的。例如,在公式y ~ a + I(b+c)中,术语b+c被解释为bc之和。

编辑。您可以在一个命令中不使用公式来完成这个任务:

代码语言:javascript
复制
plot(c(X$V1/Y$V2, X$V2/Y$V2, Y$V3/Y$V2), rep(Y$V1, 3),
    pch=20, xlim=c(0,27),
    col=rep(c("black", "red", "blue"), each=30)
)
票数 6
EN

Stack Overflow用户

发布于 2011-02-10 11:36:07

我不知道为什么会出现错误,但是对于第二个和第三个图,使用points而不是plot是一个更优雅的解决方案(并消除了那些par调用)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4956544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档