【发布时间】:2014-05-21 23:02:51
【问题描述】:
我有一些这样的 R 命令
subset(
(aggregate(cbind(var1,var2)~Ei+Mi+hours,a, FUN=mean)),
(aggregate(cbind(var1,var2)~Ei+Mi+hours,a, FUN=mean))$Ei == c(1:EXP)
)
我想做
1) 要求用户输入var1和var2
2) 将这些变量放入子集命令行,如上所示,然后 继续做其他事情。
注意:为了读取用户输入,我有类似的变量
c(ax,bx,cx,dx,ex,fx,gx,hx,ix,jx,kx,lx,mx,nx,ox) = c(1:15) 和每个
变量映射到数字 1 到 15。因此为用户和
要求用户选择 1 到 15 之间的任何数字,然后
检查输入数字的相应变量和
我认为将其读入命令行是最好的方法。
那么我该如何实现呢?
关于答案: 只是想知道有一种可能的情况,例如,如果用户想一次性输入多个数字。 [例如:1,2,3]...而不是如何使用 readlines 阅读此内容,如下面的答案中所述,使用
v1 <- quote(var1 <- as.numeric(readline('Enter Variable 1: ')))
eavl(v1)
xx <- paste0(letters[1:15], 'x')
xx[v1]
这种情况下如何读取多个变量?
【问题讨论】:
-
为什么不要求用户填写您设置所有参数的配置文件(csv 或其他)?
-
哦,这是一个简单的方法,而不是询问用户选项然后处理它。实际上我有 5 个不同的选项告诉用户选择任何一个,这样我就可以跳转到特定的功能并执行操作(所有这 5 种类型只是不同类型的图,需要不同类型的用户输入),所以基本上我将 csv 的值存储在数据框中并相应地读取它们并执行操作,这就是您的意思吗?
-
是的,例如。您还应该使用带有默认值参数的函数。