创build提示/答复系统,将数据input到R中
我创build了一些R代码供R谁不知道的人使用(虽然我自己很绿)。 我一直在让人们将最初的数据粘贴到R控制台(结果混杂),我希望能够为用户input数据build立更友好的用户界面。
理想情况下,有人可以坐在控制台上,键入一个命令,并提示有关如何input数据的具体问题。
例如,一个人加载r并看到一个提示:
What is x value? 该人input:
 2 
下一个提示:
 What is y value? 
人员types:
 3 
下一个提示:
  What are T values? 
人员types:
  4,3,2,1 
下一个提示:
什么是V值?
人员types:
 4,5,6,9 
而这4个新定义的variables(X,Y,T,V)R的下一步就是运行预写的代码
 X+Y V+T 
在控制台中popup答案
 5 8 8 8 10 
大家都很开心
我的道歉,因为这不是一个可重复的代码types的问题,但我不知道如何处理让R问问题,而不是我问问关于R!
 由于这只是作为交互式代码使用, readline()可以为你工作。 我没有添加任何错误检查,但你可能要做相当数量,以确保正确的input。 以下是核心概念: 
 fun <- function(){ x <- readline("What is the value of x?") y <- readline("What is the value of y?") t <- readline("What are the T values?") v <- readline("What are the V values?") x <- as.numeric(unlist(strsplit(x, ","))) y <- as.numeric(unlist(strsplit(y, ","))) t <- as.numeric(unlist(strsplit(t, ","))) v <- as.numeric(unlist(strsplit(v, ","))) out1 <- x + y out2 <- t + v return(list(out1, out2)) } 
 另请参阅?menu utils中的?menu ,以获取简单的文本基本菜单界面和提示,这也在devtools 。 
这里是一个例子:
 > menu(c("Yes", "No"), title="Do you want this?") Do you want this? 1: Yes 2: No Selection: 
由于这个问题是从死亡中带回来的,所以可能会写一个更新的答案。
如果在这种情况下GUI是有用的,那么Shiny包现在已经与RStudio很好的集成在一起,并且将它作为一个Shiny应用程序很容易实现。 网站http://shiny.rstudio.com有更多的信息,包括例子和文档。;
 对于这个特殊的情况,这可能是过度的,但是这个swirl包对于初学者来说是交互式地介绍R的好帮手。 
漩涡是R编程语言的一个软件包,将R控制台变成一个交互式的学习环境。 用户可以通过数据科学和R编程的自学课程获得即时反馈。
生成内容的说明可以在这里find: http : //swirlstats.com/instructors.html 。