楼主: peijianshi
3230 2

[问答] R中自定义函数中的变量名称如何输出? [推广有奖]

  • 0关注
  • 16粉丝

已卖:352份资源

副教授

80%

还不是VIP/贵宾

-

威望
0
论坛币
638 个
通用积分
2.3662
学术水平
12 点
热心指数
12 点
信用等级
5 点
经验
15373 点
帖子
636
精华
0
在线时间
568 小时
注册时间
2010-3-11
最后登录
2022-9-8

楼主
peijianshi 发表于 2015-7-4 16:51:23 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
大家好!我遇到一个问题,编写一个函数,比如:
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输入对象名称而输出相应变量名称,如何解决?

二维码

扫码加我 拉你入群

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

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

关键词:自定义函数 自定义 Fun 大家好 如何

R万岁!

沙发
ntsean 发表于 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
}

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

myfun
谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 20:44