如何在R中使用变量标签?

如何在R中使用变量标签?,r,variables,loops,character,labels,R,Variables,Loops,Character,Labels,我有一个函数,它将输入作为数据帧的列名,即columnname~1 dataframe由大约50列组成,我可以在其中重复这个过程 使用for循环将列名生成为字符,不幸的是,函数会这样做 不认识。区别就在于M1~1(有效)与M1~1(有效) 欢迎提出任何建议使用“[[功能 datafrm[[M1]] ~ 1 该函数将解释字符值并将其转换为语言值。或者,您可以使用do.call函数。如果我们有数据帧和函数的详细信息,最好的答案将会出现。使用“[[函数 datafrm[[M1]] ~ 1 该函数将

我有一个函数,它将输入作为数据帧的列名,即
columnname~1

dataframe由大约50列组成,我可以在其中重复这个过程

使用for循环将列名生成为字符,不幸的是,函数会这样做

不认识。区别就在于M1~1(有效)与M1~1(有效)

欢迎提出任何建议

使用“[[功能

datafrm[[M1]] ~ 1
该函数将解释字符值并将其转换为语言值。或者,您可以使用
do.call
函数。如果我们有数据帧和函数的详细信息,最好的答案将会出现。

使用“[[函数

datafrm[[M1]] ~ 1
该函数将解释字符值并将其转换为语言值。或者,您可以使用
do.call
函数。如果我们有数据帧和函数的详细信息,最好的答案将会出现。

请尝试:

as.formula(paste("M1","1",sep="~"))
尝试:


或者,作为粘贴的替代方法,您可以使用sprintf:

variablename = "M1"
as.formula(sprintf("%s ~ 1", variablename))

或者,作为粘贴的替代方法,您可以使用sprintf:

variablename = "M1"
as.formula(sprintf("%s ~ 1", variablename))
您还可以使用以下选项:

substitute(columnname~1,list(columnname=as.name("M1")))
编辑

当您用包含字符串的变量替换“M1”时,它也会起作用(M1您也可以使用:

substitute(columnname~1,list(columnname=as.name("M1")))
编辑


当您用包含字符串的变量替换“M1”时,它也会起作用(M1 autoKrige.cv(S1~1,coopyf,model=c(“Sph”,“Exp”,“Gau”),verbose=c(TRUE,TRUE),nmax=10)。在上述函数中,变量是1,您是否可以添加一个简单的示例来重现您的问题?autoKrige.cv(S1~1,coopyf,model=c(“Sph”,“Exp”,“Gau”),verbose=c(TRUE,TRUE),nmax=10在上述函数变量中是1,您是否可以添加一个简单的示例来重现您的问题?