楼主: themlbb
744 4

[问答] 请教大神,这种需求除了for循环外,有什么更好的办法吗? [推广有奖]

  • 3关注
  • 2粉丝

博士生

90%

还不是VIP/贵宾

-

威望
0
论坛币
2807 个
通用积分
9.4068
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
4230 点
帖子
172
精华
0
在线时间
536 小时
注册时间
2010-2-27
最后登录
2023-3-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
有两个数据框,结构大概是这样的
表1:
name      age   
a               50
b               30
c                20

表2:(瞎打的数)
字段     下限      上限
青年        20         40
中年        40         60
老年        60

就是想根据表2的区间段,给表1匹配上青年、中年、老年的类别
除了for循环,有啥向量化的方法来解决这个问题吗?现在都不懂应该搜索什么关键字
二维码

扫码加我 拉你入群

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

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

关键词:关键字 向量化

沙发
felixzhao123 发表于 2018-12-11 19:18:47 |只看作者 |坛友微信交流群
  1. library(tidyverse)
  2. df <- data.frame(
  3.   name=c("A","B","C"),
  4.   age=c(50,30,20)
  5. )


  6. df <- df %>%
  7.   mutate(Age_Group=case_when(
  8.     age<=20~"Teenager",
  9.     age<=40~"Youth",
  10.     age<=60~"Middle Age",
  11.     TRUE~"Senior"
  12.   ))

  13. df
复制代码
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 精彩帖子
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

藤椅
themlbb 发表于 2018-12-11 20:13:04 |只看作者 |坛友微信交流群
感谢大神!!
不过我上面只是举了个简单的例子,
但是如果表2的分段有非常非常多的话,总不能再一遍一遍地写出来吧(哭)
有什么好方法呢?

使用道具

板凳
themlbb 发表于 2018-12-11 20:14:33 |只看作者 |坛友微信交流群
felixzhao123 发表于 2018-12-11 19:18
回错楼了(捂脸),请看楼上

使用道具

报纸
cheetahfly 在职认证  发表于 2018-12-12 08:19:37 |只看作者 |坛友微信交流群
cut()就是干这个的

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 14:51