- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我这样做,我希望能够使用deparse
函数
g = function(x) deparse(substitute(x))
那么就可以了
R) g(test)
[1] "test"
但是如果我想测试g
的参数是否是一个字符
h = function(x) {if(is.character(x)){return(x)}; deparse(substitute(x))}
R) h(test)
Error in h(test) : object 'test' not found
为什么会这样,我能解决吗?
编辑:转自新的 R --vanilla
R version 2.15.2 (2012-10-26)
Platform: i386-w64-mingw32/i386 (32-bit)
locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
最佳答案
问题中的代码正在尝试评估一个变量 test
,该变量不存在,因此出现错误。试试这个:
g = function(x) {
x.try <- try(x, silent = TRUE)
if (!inherits(x.try, "try-error") && is.character(x.try)) x.try
else deparse(substitute(x))
}
# test it out
if (exists("test")) rm(test)
g(test) # "test"
g("test") # "test"
test <- "xyz"
g(test) # "xyz"
g("test") # "test"
test <- 3
g(test) # "test"
g("test") # "test"
关于r - 我怎样才能让这个 deparse 函数工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15811305/
如果我这样做,我希望能够使用deparse 函数 g = function(x) deparse(substitute(x)) 那么就可以了 R) g(test) [1] "test" 但是如果我想测
如果我这样做,我希望能够使用deparse 函数 g = function(x) deparse(substitute(x)) 那么就可以了 R) g(test) [1] "test" 但是如果我想测
我正在创建一个基于一些虚拟变量的自动绘图仪。我这样设置: plotter <- function(...) { } 将绘制我喂它的所有假人。 但是,我希望它能够为绘图添加标签,即变量名称。 我知道 d
我在我的一个函数中对一个调用进行了解析(以使其更易于阅读),并将其作为输出 S3 对象的一部分包含在内,以供最终用户引用。 func1 <- function(v1, v2, ...){ re
我在我的一个函数中对一个调用进行了解析(以使其更易于阅读),并将其作为输出 S3 对象的一部分包含在内,以供最终用户引用。 func1 <- function(v1, v2, ...){ re
是否可以为 pyparsing 提供一个已解析的列表并让它返回原始字符串? 最佳答案 是的,您可以如果您已指示解析器不要丢弃任何输入。您可以使用 Combine 组合器来完成。 假设您的输入是: >>
对于那些精通 R 评估器如何处理函数调用的细节的人来说,这是一个小难题。假设我想编写一个函数,该函数采用 R 语句,与我在命令行中编写的内容相同,并同时回显它和计算结果。例子: > p.eval(s
我想知道,是否-MO=Deparse向您展示所有 Perl 优化,为什么在 Perl 5.10 中没有折叠? $ perl -MO=Deparse -e'[qw/foo bar baz/]->[0]'
我正在编写一些将数学函数定义转换为有效 R 代码的代码。因此,我使用 deparse(substitute)) 来访问这些函数定义,以便将它们更改为有效的 R 代码。 例如我有函数 LN(x)^y 应
如果我想为错误或警告解析函数的参数,如果参数被转换为函数内的 data.table,则会发生一些奇怪的事情: e ) is not a data.table 如果我之前解析它 data.table一切
我想知道为什么 deparse(substitute(x)) 对于我的 xlab 没有将 x 的名称放入 xlab 如预期(见下图)? gg <- function(x, xlab = deparse
我正在尝试对测试和训练数据进行一些特征工程。我精通 python,但不熟悉 R。 #Row binding train & test set for feature engineering train
我正在尝试使用“rbind”来获取结果,但显示错误 “rbind(deparse.level, ...) 中的错误: 无效的列表参数:所有变量都应该具有相同的长度” pm2 <- function(d
我想将字符串列表转换为数据框。但是,我收到此错误: > read.csv(textConnection(c("id,name,count", '62
deparse在 R 3.4.4 和 R 3.5 中产生不同的结果。 NEWS建议一些默认设置已更改,但我不清楚如何确保 deparse在 R 3.4.4 和 R 3.5 中产生相同的输出 3.4.4
我是一名优秀的程序员,十分优秀!