我正在尝试编写一个函数来允许用户输入各种参数(“means”、“temp”等),然后将它们编译成一个列表,以便我可以使用它们。列表中的值被提取并分配给对象。
param <- function(){
parameters <- c("means","variance","temp","gene","add")
x <- list()
for(i in 1:length(parameters)){
z <- readline(paste("Input ", parameters[i], ": ", sep=""))
#store inputs in vector x
x[[z]] <- z
#x[[i]] <- z
#x[i] <- z
} #End of for loop to bring in inputs
#Bind results into a vector
y=c(x[[1]],x[[2]],x[[3]],x[[4]],x[[5]])
#Assign answers to proper variable names so they can be used to index.
means <- y[1]; variance <- y[2]; temp <- y[3]; gene <- y[4]; add <- y[5]
#means <- x[[1]]; variance <- x[[2]]; temp <- x[[3]]; gene <- x[[4]]; add <- x[[5]]
} #End of function to bring in inputs
我想使用这些对象来索引更大的数据框(strn.x)。
yav=strn.x[NT==temp, means]
我参考了https://stat.ethz.ch/pipermail/r-help/2008-April/158757.html来了解如何将用户输入分配给对象,并且我认识到(基于Retrieving specific values from subsetting a data.table)我的问题的一部分是对象所采用的类。我尝试使用“[[”来提取没有名称的值,但它们仍然以类“list”或“data.frame”的形式出现,具体取决于我在上面的函数中包含的内容。
means
V1
1 FT_mn
class(means)
[1] "data.frame"
我希望他们采用以下形式:
[1] FT_mn
我需要做什么才能使其正常工作?