使用另一个变量中的字符串存储重复功能

时间:2019-01-21 15:45:23

标签: r

我将变量的名称作为字符存储在向量中,例如:

x$levels <- c("High, "Medium", "Low", "ExtraLow")

根据我的分析为高,中,低和超低数据帧。

我想使用此数据帧作为参数重复调用一个函数,但要引用字符向量,例如

for (i in x$levels) {
myfunction(i)
}

bub“ i”必须不作为字符传递,而应作为变量本身传递。

我尝试了ass,get,eva + as.names,eva + as.symbols。我试图用像这样的数据框创建一个列表并命名它们,但是不起作用。

详细信息:myfucntion将使用变量名称进行操作,并且可以正常工作。我只想不想一次(多次)调用此功能。

clean <- function(x) {   
    level.name <- deparse(substitute(x)) # Gets the level name from variable 
    level.letter <- substr(paste0(level.name), 1, 1) # Gets the first letter of variable name  
    x <- x[ , c("a", "b", "c")] # Erase all columns intead of designated  
    names(x) <- c(paste0(level.letter, "_u_h"), paste0(level.letter, "_b"), paste0(level.letter, "_u")) # Change the name of the variables
    assign(paste0(level.name), x, envir = globalenv()) #Take the results off from function environment
}

0 个答案:

没有答案