Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在变量名中合并负号或减号的方法_R_Variables - Fatal编程技术网

R 在变量名中合并负号或减号的方法

R 在变量名中合并负号或减号的方法,r,variables,R,Variables,R只接受变量名中的字母数字字符、“点”和“下划线”。我的名字像tmax\u60天\uDec13-Feb13\uMean或tmax\u60天\uDec13-Feb13\uTmax:>=:-5。使用这样的系统,所以我可以轻松地解析select子字符串,还因为我在计算滚动平均值,并将这些条件本身用作名称:o 直到最近,我还是用get或手动删除knitr添加的“撇号”来解决这个问题 但是,当我试图在party或random forests等函数中使用这些变量/数据名时,结果适得其反。他们没有被认出 我可

R只接受变量名中的字母数字字符、“点”和“下划线”。我的名字像
tmax\u60天\uDec13-Feb13\uMean
tmax\u60天\uDec13-Feb13\uTmax:>=:-5
。使用这样的系统,所以我可以轻松地解析select子字符串,还因为我在计算滚动平均值,并将这些条件本身用作名称:o

直到最近,我还是用
get
或手动删除
knitr
添加的“撇号”来解决这个问题

但是,当我试图在
party
random forests
等函数中使用这些变量/数据名时,结果适得其反。他们没有被认出


我可以将冒号和hypen改为点或下划线,不过我更喜欢其他的可能性。以及“>=”到“ge”和“您可以使用
注释
功能:

x <- 1:10
comment(x) <- "this is a comment"
 y <- 1:10
 comment(y) <- "this is another comment"
 xy <- data.frame(x=x,y=y)
 str(xy)
 #----------------    
 'data.frame':  10 obs. of  2 variables:
 $ x: atomic  1 2 3 4 5 6 7 8 9 10
  ..- attr(*, "comment")= chr "this is a comment"
 $ y: atomic  1 2 3 4 5 6 7 8 9 10
  ..- attr(*, "comment")= chr "this is another comment"
 #--------------
 comment(xy$x) <- "prod"
 comment(xy$y) <- "sum"

interpret <- function(x) eval(parse(text=paste0(comment(x) ,"(",quote(x),")") ) )
lapply(xy, interpret)
#-----------------
$x
[1] 3628800

$y
[1] 55

x是这些负号还是连字符?
tmax\u 60\u days\u Dec13.to.Feb13\u的意思是
?您的中的那些-下划线。我使用我的系统也尽可能缩短变量名称以便于绘图。我愿意在其他地方使用下划线和点,但仍然希望num之前的负号有更好的解决方案bers,如果有的话。我怀疑在不重写大量R功能的情况下,这在一般情况下是可能的。你可以有这样的名称,如果你引用它们“x$
tmax\u 60\u days\u Dec13-Feb13\u tmax:>=:-5
”,它们就会起作用。但一旦这些向量进入建模函数,你就无法控制,这将是你的失败。试试si如果你坚持要映射到更复杂的名称,请使用更复杂的名称并有一个查找表。:)Thx!我确实意识到了重写-R的部分!我认为可能值得了解其他人在这种情况下是如何做的。随着最近对R的命名系统中的不一致性的大量讨论,谁知道-隧道的另一边可能有一个出口另一个可能要考虑的问题(从长远来看,更健壮的方法)是看是否可以使用<代码> Hmisc <代码> >代码>标签(>)>代码>函数。它试图在<代码>标签< /代码>属性中携带更多的人类可读信息,而不影响列名(然后可以保持简短和程序员/机器友好)。.Thx用于引入
注释
引用
。可能会在某个时候派上用场。正如您所说,如果我想要像
tmax>=-2.3
这样的条件并对其进行评估,可能会变得更复杂。