2016-11-03 103 views
1

这个错误是什么意思?这是什么意思? “错误:`rhs`必须是语言对象”

Error: rhs must be a language object

我真的不能告诉你有相关的代码我的文本文件,但这里是它是否有助于什么让我的错误:

t.test(BILL1~SEX, Credit, conf.level=0.95, 
mu = 0, paired=F,alternative = "two.sided",var.equal=F) 
+1

的东西的右侧必须是语言的一部分。 –

+0

什么使它不是语言的一部分......?这是所有数字 – Laura

+4

请添加数据,使您的示例[reproducible](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。如果您无法显示真实数据,请尝试编制一些能够再现问题的类似数据。 – aosmith

回答

3

TL;博士mosaic::t.test功能不处理第二无名参数如人们所预料的基础上stats::t.test ...

我的谷歌搜索的错误消息shows that this error only shows up in the lazyeval and mosaic packages。另外闲逛表明mosaichas a t.test() function掩盖发生在基地R.

stats::t.test()功能所以,问题是很可能是与该功能,但没有更多的信息,我们只能推测。我试过各种方法来打破mosaic::t.test()(使用在数据中找不到的变量名称,使用对应于函数的符号而不是数据对象等),但是不能引发这种错误。你至少可以编辑你的问题,包括str(Credit) ......的结果?

好吧,我设法猜测它,并且它实际上没有任何数据错误(我认为)。

dd <- data.frame(x=1:10,y=rep(0:1,each=5)) 
stats::t.test(x~y,dd) ## works fine 
library(mosaic) 
mosaic::t.test(x~y,Credit) 
## Error: `rhs` must be a language object 

现在我们做的唯一改变是data=参数*:

mosaic::t.test(x~y,data=Credit) ## works fine 

的问题是,stats::t.test的定义是

t.test(formula, data, subset, na.action, ...) 

而中mosaic::t.test

t.test(x, y=NULL, ..., data = parent.frame()) 

使mosaic::t.test解释第二个参数,如果是无名,作为一个公式......

+0

感谢加入str(信用)的工作!对不起,我没有把数据放入我对R和编码的真正新意,这是我第一次使用stackoverflow。再次感谢\ – Laura

+0

??那是什么意思 ??是否使用'str(Credit)'给你提供了一个关于导致你解决你自己的问题的错误的线索?如果是这样,您可以(也可以鼓励)针对您自己的问题发表一个答案。 (现在我真的想知道发生了什么...) –