全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
3194 2
2015-07-04
大家好!我遇到一个问题,编写一个函数,比如:
myfun <- function(x){
    if( length( x[!is.na(x)] )  !=  length(x) ){
        stop("x中有NA!")}
    2*x
}

y <- c(1, 2, NA, 4)
myfun(y)

运行结果显示为“x中有NA!”, 而不是“y中有NA!”,
即运行结果需要根据myfun输入对象名称而输出相应变量名称,如何解决?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2015-7-4 22:56:47
试试这个

myfun <- function(x){
  vname = deparse(substitute(x))
  if( length( x[!is.na(x)] )  !=  length(x) ){
    stop(sprintf("%s中有NA!", vname))}
  2*x
}
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-7-5 11:21:23
ntsean 发表于 2015-7-4 22:56
试试这个

myfun
谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群