R 仅接受字母数字字符," dot"和#34;下划线"在变量名称中。我的名字有tmax_60_days_Dec13-Feb13_mean
或tmax_60_days_Dec13-Feb13_tmax:>=:-5
。使用这样的系统,所以我可以轻松地解析选择的子字符串,也因为我正在计算滚动方式并将这些条件本身用作名称:o
直到最近,我还是使用get
或者手动删除“撇号”来解决问题。其中knitr
已添加。
但是,当我尝试在party
或randomForests
等函数中使用数据域的这些变量/列名时,它就会适得其反。他们没有得到承认
我可以将冒号和爆炸改为点或下划线,但我更喜欢其他一些可能性。并且"> ="到" ge"和"< ="到" le"。但是,人们如何编码"否定"或"减去"如果要将其包含在数据框的变量名称或列名中,请签名吗?
我想到了用#34; neg"来加上数字的前缀。或者"减去",但是想问一下是否有更多的优雅的方式,或者只是想知道人们管理它的其他方式。 感谢
答案 0 :(得分:1)
您可以使用comment
功能:
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
更广泛的响应需要一个值得进一步测试的数据对象。