楼主: priss111
4927 5

[问答] 程序请教:多个ifelse能嵌套? [推广有奖]

  • 0关注
  • 5粉丝

已卖:9份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14935 点
帖子
472
精华
0
在线时间
808 小时
注册时间
2008-3-30
最后登录
2025-3-17

楼主
priss111 发表于 2022-2-26 21:57:35 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

各位老师好!

1、请问对年龄分组能用多个ifelse能嵌套? 我下面这个代码的语法怎么写才合适。
2、对年龄分组能否写成函数形式? (实际分析可能会分的更细,也可能是5岁或者其他)
  1. adult_fol$age_g <- ifelse(adult_fol$age>=10 & adult_fol$age<20, adult_fol$age_g <- "<20",
  2.                           ifelse(adult_fol$age>=20 & adult_fol$age<30), adult_fol$age_g <- "20~",
  3.                           ifelse(audlt_fol$age>=30 & adult_fol$age<40), adult_fol$age_g <- "30~",
  4.                           ifelse(audlt_fol$age>=40 & adult_fol$age<50), adult_fol$age_g <- "40~",
  5.                           ifelse(audlt_fol$age>=50 & adult_fol$age<60), adult_fol$age_g <- "50~",
  6.                           ifelse(audlt_fol$age>=60 & adult_fol$age<70), adult_fol$age_g <- "60~",
  7.                           ifelse(audlt_fol$age>=70 & adult_fol$age<80), adult_fol$age_g <- "70~",
  8.                           ifelse(audlt_fol$age>=80 & adult_fol$age<90), adult_fol$age_g <- "80~",
  9.                           ifelse(audlt_fol$age>=90), adult_fol$age_g <- "90~", adult_fol$age_g <- "100~")

  10. 错误提示:
  11. Error in ifelse(adult_fol$age >= 10 & adult_fol$age < 20, adult_fol$age_g <- "<20",  :
  12.   参数没有用(adult_fol$age_g <- "20~", ifelse(audlt_fol$age >= 30 & adult_fol$age < 40), adult_fol$age_g <- "30~", ifelse(audlt_fol$age >= 40 & adult_fol$age < 50), adult_fol$age_g <- "40~", ifelse(audlt_fol$age >= 50 & adult_fol$age < 60), adult_fol$age_g <- "50~", ifelse(audlt_fol$age >= 60 & adult_fol$age < 70), adult_fol$age_g <- "60~", ifelse(audlt_fol$age >= 70 & adult_fol$age < 80), adult_fol$age_g <- "70~", ifelse(audlt_fol$age >= 80 & adult_fol$age < 90), adult_fol$age_g <- "80~", ifelse(audlt_fol$age >=
  13.     90), adult_fol$age_g <- "90~", adult_fol$age_g <- "100~")
复制代码
用within()也分了组,但是就是想知道上面代码怎么写? 我感觉ifelse后面会用的比较多。
谢谢!
二维码

扫码加我 拉你入群

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

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

关键词:else LSE ELS Adult 函数形式

沙发
szxship 发表于 2022-2-27 10:58:25
用cut函数

藤椅
priss111 发表于 2022-2-27 11:15:13
szxship 发表于 2022-2-27 10:58
用cut函数
谢谢回复!

请问cut()只能分成定序的5类?
如果是这样的话就不适合这个age分组。

板凳
szxship 发表于 2022-2-27 11:29:40
priss111 发表于 2022-2-27 11:15
谢谢回复!

请问cut()只能分成定序的5类?
你要分多少类都可以,breaks这个参数可以让你指定分类的界

报纸
priss111 发表于 2022-2-27 11:44:46
szxship 发表于 2022-2-27 11:29
你要分多少类都可以,breaks这个参数可以让你指定分类的界
谢谢!
cut()应该更简洁。

age_g_cut <- cut(adult_fol$age, breaks = c(13, 20, 30, 40, 50, 60, 70, 80, 90, 100),
                 labels = c("<20", "20~","30~","40~", "50~","60~","70~", "80~","90~"), right = FALSE)

地板
cheetahfly 在职认证  发表于 2022-2-27 11:57:26
用cut()

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

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