0

所以我目前在文件pullsec.R中有以下代码

pullsec <- function(session=NULL){
  if(is.null(session))  session<-1
  stopifnot(is.numeric(session))
  paste("Session",1:10)[session]
}

在 .Rnw 文件中,我调用此 pullsec.R 并通过以下方式选择会话号 3:

source("pullsec.R")
setsec <- pullsec(3)

这将拉出 Session 列的数据值为“Session 3”的所有行

我想在 pullsec.R 中添加另一个块,这将允许我为第二列提取数据,即该列中的数据为 Sessions 1-2、Sessions 3-4、Session 5-6 等的 Sessions。但我'不确定如何修改 pullsec 块以接受多个输入。

我尝试了很多解决方案,但没有咬到。我最天真的解决方案是:

pullsec2 <- function(sessions1=NULL,sessions2=NULL){
  if(is.null(sessions1))  sessions1<-1
  stopifnot(is.numeric(session1))
  paste("Sessions",1:10,"-",1:10)[sessions]
}
4

1 回答 1

0

其中任何一个都可以:

pullsec2 <- function(session1=1,session2=2){
  stopifnot(is.numeric(session1))
  stopifnot(is.numeric(session2))
  paste0("Sessions ",session1,'-',session2)
}
pullsec2(3,4)

pullsec2 <- function(sessions=1){
  stopifnot(is.numeric(sessions))
  paste("Sessions",paste0(sessions,collapse="-"))
}

pullsec2(3:4)
于 2015-01-19T05:14:06.727 回答