我必须教我的朋友如何在R上运行t测试(使用t.test
函数),我只是希望该函数更具交互性。如果该功能引导他们完成测试,新手可以轻松运行该功能。我无法在网上找到这样的功能所以我决定自己制作一个。尝试制作互动功能对我来说是一个巨大的挑战,但它在我的研究生院生活中是一个有趣的喘息。
我希望我的函数能够像myttest(x, y, paired = T)
一样运行,以便Rmarkdown可以正常生成输出。我还希望通过键入myttest()
以交互方式运行该功能。因此,我决定将我的函数基于t.test.default
,并在需要的源代码中添加readline
。
我使用getAnywhere(t.test.default)
函数来显示源代码。我在第一个{
之后放置了以下代码,以便R可以请求像data$GPA
这样的向量。
if (missing(x)) {x <- readline("What is the name of the data set?")}
但是,当我在交互式对话框中运行myttest()
并输入data$GPA
时,收到以下错误消息。
Error in myttest() : not enough 'x' observations
In addition: Warning message:
In myttest() : NAs introduced by coercion
数据集data
实际上存在于全局环境中,它有GPA
列,所以我认为这是我的编码问题。为什么R不读取GPA
列中的观察结果?
(另外,我的最终目标之一是让R只询问一个数据集.R会读取数据集的列,在交互式对话中显示它们,并询问Which variable do you want to use as the DV?
。然后我就可以了例如,输入GPA,我也会考虑R是否在开始时要求进行t检验的类型(例如单样本,双样本或配对样本)。您认为这种交互水平是否可行? )