楼主: SAS过儿
5184 6

[问答] R语言写函数,输入变量有可能有缺失值,请问大家如何在函数里面判断输入变量缺失 [推广有奖]

  • 0关注
  • 0粉丝

大专生

28%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
1205 点
帖子
43
精华
0
在线时间
35 小时
注册时间
2014-11-27
最后登录
2020-2-21

楼主
SAS过儿 发表于 2016-4-15 14:04:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
用r语言写一个函数, 输入变量有9个,但是调用函数的时候有可能会缺失其中几个输入变量(就是没有输入),其中一个变量里面有日期。请问一下大家,这种情况下该怎么处理呢?
自己尝试了下面的语句,想如果materialb2没有输入的话就置一个值,结果报错。
  1. if ((is.na(x2))!= "FALSE") {
  2.   x2=0
  3. }
复制代码

如下面的代码所示,想按条件筛选子集,x,y,z都可以随意选择,但是输入有可能有缺失值,请问大家如何在函数里面判断输入变量缺失并处理掉不影响函数运行呢?
  1. myfun<-function(x1,x2,x3,y1,y2,y3,z1,z2,z3,exmsubset)
  2.   exm<-data.frame(x=1:20,
  3.                 y=c("q","w","w","e","c","q","w","w","e","r","q","w","w","g","c","q","w","w","e","c"),
  4.                 z=c("2012-02-13","2011-03-20","2011-02-21","2011-05-15","2012-02-02","2011-03-21","2011-02-21","2011-05-14","2012-02-16","2011-03-11","2011-02-17","2011-05-14","2012-02-02","2011-03-21","2011-02-21","2011-05-14","2012-02-02","2011-03-21","2011-02-21","2011-05-14"))

  5. exmsubset<-subset(exm,exm$x==x1|exm$x==x2|exm$x==x3)
复制代码

二维码

扫码加我 拉你入群

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

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

关键词:R语言 缺失值 material 条件筛选 TERI function 输入变量 缺失

沙发
jalonso 发表于 2016-4-15 14:52:15
is.na()  可以用于识别有缺失值的观测,
na.omit()   可以删除在任何变量上存在缺失值的观测
已有 1 人评分论坛币 收起 理由
jiangbeilu + 10 鼓励积极发帖讨论

总评分: 论坛币 + 10   查看全部评分

藤椅
SAS过儿 发表于 2016-4-21 09:43:10
jalonso 发表于 2016-4-15 14:52
is.na()  可以用于识别有缺失值的观测,
na.omit()   可以删除在任何变量上存在缺失值的观测
在函数调用的时候,那个变量缺失时会报错,该怎么办呢

板凳
SAS过儿 发表于 2016-4-21 09:43:14
jalonso 发表于 2016-4-15 14:52
is.na()  可以用于识别有缺失值的观测,
na.omit()   可以删除在任何变量上存在缺失值的观测
在函数调用的时候,那个变量缺失时会报错,该怎么办呢

报纸
SAS过儿 发表于 2016-4-21 09:43:58
jalonso 发表于 2016-4-15 14:52
is.na()  可以用于识别有缺失值的观测,
na.omit()   可以删除在任何变量上存在缺失值的观测
在函数调用的时候,那个变量缺失时会报错,该怎么办呢

地板
jalonso 发表于 2016-4-21 20:37:21
SAS过儿 发表于 2016-4-21 09:43
在函数调用的时候,那个变量缺失时会报错,该怎么办呢
你不是想剔除异常值么,剔除了就不会报错了吧

7
弓二竹 学生认证  发表于 2017-12-10 18:06:31
不知道现在对你还有没有用,你在自定义函数那一步就给参数设置默认值NA,后面再进行判空就好了。
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-4 10:36