如何运行代码块,例如使用if和else语句或替换if-else语句

时间:2018-10-03 22:37:01

标签: r if-statement

R noob再次来到这里。 我想提示用户,根据用户的选择,我想执行一个阻止代码。 这样的例子;

install.packages("igraph")
library("igraph")

links <- read.csv("<path>.csv", header=T, as.is=T)
nodes <-read.csv("<path>.csv", header=T, as.is=T)


answer <- readline(prompt = " Enter s for straight c for curved lines ")
if (answer == "s") {
    variable <- graph_from_data_frame(d=links, vertices=nodes, directed=T)
    variable
    plot(variable, edge.arrow= .5, vertex.frame.color = "#ffffff")

} else {
    variable <- graph_from_data_frame(d=links, vertices=nodes, directed=T)
    variable
    plot(variable, edge.arrow= .5, edge.curved=.4, vertex.frame.color = "#ffffff")
}

节点数据:

id,name,node.type,node.group p1,Pi,Protein,1 p2,PPi,Protein,1 p3,SAM,Protein,1 p4,L-Met,Protein,1 p5,H2O,Protein,1 p6,SAH,Protein,1 p7,Ade-Rib,Protein,1 p8,LHCYS,Protein,1 p9,tetrahydropteroyltri-L-glutamate,Protein,1 p10,methyltransferase,Protein,1 p11,ATP,Protein,1 p12,Reaction 1,Reaction,2 p13,Reaction 2,Reaction,2 p14,Reaction 3,Reaction,2

边缘数据:

from,to,type p13,p1,hyperlink p13,p2,hyperlink p13,p3,hyperlink p4,p13,hyperlink p5,p13,hyperlink p11,p13,hyperlink p12,p10,hyperlink p12,p4,hyperlink p8,p12,hyperlink p9,p12,hyperlink p6,p14,hyperlink p14,p7,hyperlink p5,p14,hyperlink p14,p8,hyperlink

这对我不起作用,切换保护套也不起作用。这类问题有解决方案吗?

我敢肯定我的括号没有做任何错误。

1 个答案:

答案 0 :(得分:2)

如果问题是提示后您的代码没有立即运行,那么我认为一个好的解决方案是将代码包装到一个函数中。

trial <- function(){
  answer <- readline(prompt = " Enter s for straight c for curved lines ")
  if (answer == "s") {
    variable <- graph_from_data_frame(d=links, vertices=nodes, directed=T)
    variable
    print(plot(variable, edge.arrow= .5, vertex.frame.color = "#ffffff"))

  } else {
    variable <- graph_from_data_frame(d=links, vertices=nodes, directed=T)
    variable
    print(plot(variable, edge.arrow= .5, edge.curved=.4, vertex.frame.color = "#ffffff"))
  }
}

trial()