【发布时间】:2014-02-18 11:53:03
【问题描述】:
这个问题已经困扰我好几天了,我还没有在堆栈交换上遇到任何运气。本质上,我有两张表,一张表定义了从第二张表中选择的列(按列号)。我最初的计划是将列串在一起并将其传递到子选择语句中,但是当我将字符串定义为 as.character 时,它并不高兴,即:
# Data Sets, Variable_Selection: Table of Columns to Select from Variable_Table
VARIABLE_SELECTION <- data.frame(Set.1 = c(3,1,1,1,1), Set.2 = c(0,3,2,2,2), Set.3 = c(0,0,3,4,3),
Set.4 = c(0,0,0,5,4), Set.5 = c(0,0,0,0,5))
VARIABLE_TABLE <- data.frame(Var.1 = runif(100,0,10), Var.2 = runif(100,-100,100), Var.3 = runif(100,0,1),
Var.4 = runif(100,-1000,1000), Var.5 = runif(100,-1,1), Var.6 = runif(100,-10,10))
# Sting rows into character string of columns to select
VARIABLE_STRING <- apply(VARIABLE_SELECTION,1,paste,sep = ",",collapse = " ")
VARIABLE_STRING <- gsub(" ",",",VARIABLE_STRING)
VARIABLE_STRING <- data.frame(VAR_STRING = gsub(",0","",VARIABLE_STRING))
# Will actually be part of lapply function but, one line selection for demonstration:
VARIABLE_SINGLE_SET <- as.character(VARIABLE_STRING[4,])
# Subset table for selected columns
VARIABLE_TABLE_SUB_SELECT <- VARIABLE_TABLE[,c(VARIABLE_SINGLE_SET)]
# Error Returned:
# Error in `[.data.frame`(VARIABLE_TABLE, , c(VARIABLE_SINGLE_SET)) :
# undefined columns selected
我知道文本格式是问题,但我找不到解决方法,有什么建议吗?
【问题讨论】: