楼主: salacn
1669 5

[问答] ifelse语句求助 [推广有奖]

  • 3关注
  • 0粉丝

已卖:79份资源

本科生

68%

还不是VIP/贵宾

-

威望
0
论坛币
99 个
通用积分
0.4200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1293 点
帖子
75
精华
0
在线时间
80 小时
注册时间
2011-11-5
最后登录
2018-10-26

楼主
salacn 在职认证  发表于 2018-10-10 16:45:36 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请问大侠下面这个语句出来的结果为什么不对?

ifelse(nchar(temp$no)==15,temp$birth<-paste("19",substr(temp$no,7,8),sep = ""),temp$birth<-substr(temp$no,7,10))


其中temp$no是15位和18位的数字,出来的结果是不管nchar(temp$no)是不是等于15,都执行temp$birth<-substr(temp$no,7,10)

请问这是为什么?

二维码

扫码加我 拉你入群

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

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

关键词:else ELS LSE Birth Temp

沙发
铁锷未残 学生认证  发表于 2018-10-10 19:20:57
上传测试数据及全部代码

藤椅
cheetahfly 在职认证  发表于 2018-10-10 22:07:16
先分清楚ifelse() 和 if (...) {...} else {...} 的区别
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

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

板凳
salacn 在职认证  发表于 2018-10-11 17:24:39
cheetahfly 发表于 2018-10-10 22:07
先分清楚ifelse() 和 if (...) {...} else {...} 的区别
我也用了if(){}else{}的形式,可结果还是错的

if(nchar(temp$no)==15) {
        temp$birth<-paste("19",substr(temp$no,7,8),sep = "")
}
else{
        temp$birth<-substr(temp$no,7,10)
}

报纸
ryoeng 在职认证  发表于 2018-10-11 19:00:49
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

地板
cheetahfly 在职认证  发表于 2018-10-11 22:25:17
salacn 发表于 2018-10-11 17:24
我也用了if(){}else{}的形式,可结果还是错的

if(nchar(temp$no)==15) {
if () {} else{} 结构不支持向量化,需要用循环来完成,你可以考虑楼上的建议。

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

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