Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >包含员工数据的If语句

包含员工数据的If语句
EN

Stack Overflow用户
提问于 2020-07-11 05:05:59
回答 3查看 62关注 0票数 1

我有一个数据set.Which包含关于company.You中雇员的数据,可以看到下面的数据:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#Data
 output_test<-data.frame(
                         Employees=c(1,2,3,10,15,122,143,150,250,300,500,1000)
                         )

所以下一个陡峭的应该是分类。我需要按company.Rule的大小对员工进行分类,如果员工的数量低于10,即“微型”公司,如果人数大于10,但低于或等于50公司,则为“小”company.For“中型”公司,员工人数大于50但等于或小于250,最后是员工大于250的“大型”公司。为了做到这一点,我写了这行代码,如果其他状态

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Code
library(dplyr)

    output_test_final<-output_test%>%
                       mutate( 
                      Size= if(Employees>=10){
                  "Micro"      
                } else {
                  if(Employees>=50){
                    "Small"
                  } else {
                if(Employees>=250){
                     "Medium"
                } else {
                  "Large"
                   }
                    }
                   }
              )

因此,这段代码的结果不是good.So,有人能帮我修复这段代码并像下面的表格那样得到表吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-07-11 05:12:01

if用于标量输入,您可以在这里使用ifelse,它可以用于向量或更好的case_when。还请注意,您的条件需要被扭转。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(dplyr)

 output_test %>%
  mutate(Size = case_when(Employees <= 10 ~ "Micro", 
                          Employees <= 50 ~ "Small", 
                          Employees <= 250 ~ "Medium",
                          TRUE ~ "Large"))
#   Employees   Size
#1          1  Micro
#2          2  Micro
#3          3  Micro
#4         10  Micro
#5         15  Small
#6        122 Medium
#7        143 Medium
#8        150 Medium
#9        250 Medium
#10       300  Large
#11       500  Large
#12      1000  Large

另一种选择是使用cut指定breakslabels

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cut(output_test$Employees, breaks = c(-Inf, 10, 50, 250, Inf), 
          labels = c('Micro', 'Small', 'Medium', 'Large'))
票数 2
EN

Stack Overflow用户

发布于 2020-07-11 05:11:49

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(dplyr)
        output_test_final<-output_test%>%
                           mutate( 
                          Size= if(Employees<=10){
                      "Micro"      
                    } else {
                      if(Employees>=11 && Employees<=50){
                        "Small"
                      } else {
                    if(Employees>=51 && Employees<=250){
                         "Medium"
                    } else {
                      "Large"
                       }
                        }
                       }
                  )
票数 1
EN

Stack Overflow用户

发布于 2020-07-11 10:21:05

我们可以使用ifelse

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(dplyr)
output_test %>%
      mutate(Size = ifelse(Employees <= 10, "Micro", 
                      ifelse(Employees <= 50, "Small", 
                         ifelse(Employees <= 250, "Medium",
                          "Large"))))

或在base R中使用findInterval

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
c('Micro', 'Small', 'Medium', 'Large')[findInterval(output_test$Employees, c(10, 50, 250)) + 1]
#[1] "Micro"  "Micro"  "Micro"  "Small"  "Small"  "Medium" "Medium" "Medium" "Large"  "Large"  "Large"  "Large" 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62849531

复制
相关文章
oracle resetlogs后goldengate如何继续工作
最近有朋友在群里面咨询oracle resetlogs后,goldengate无法继续抽取日志,如何能够继续工作.
徐靖
2020/08/05
7300
oracle resetlogs后goldengate如何继续工作
UIRefreshControl
UIRefreshControl 平时很少用UIRefreshControl,iOS开发者上手就是MJRefresh 都忘记还有UIRefreshControl这么一个系统提供的控件了。 使用方法 @property (nonatomic, strong) UIRefreshControl *refreshControl; self.refreshControl = [[UIRefreshControl alloc] init]; [_refreshControl addTarget:self
程序员不务正业
2018/06/13
6670
老电脑如何继续继续工作
作者从2017年开始使用Linux作为主操作系统,作者当作主操作系统的Linux如下:
zeekling
2023/05/15
8190
JVM 堆内存溢出后,其他线程是否可继续工作?
我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
用户2781897
2021/04/23
5740
JVM 堆内存溢出后,其他线程是否可继续工作?
jvm堆内存溢出后,其他线程是否可继续工作
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
美的让人心动
2018/12/05
9800
jvm堆内存溢出后,其他线程是否可继续工作
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
纯洁的微笑
2018/12/07
1K0
WWDC2016 Session笔记 - iOS 10 UICollectionView新特性
关于 iOS 10 UICollectionView的新特性,主要还是体现在如下3个方面
一缕殇流化隐半边冰霜
2018/08/30
2K0
WWDC2016 Session笔记 - iOS 10  UICollectionView新特性
UICollectionView
平常我在业务开发中,绝大部分情况都是使用的UITableView,而UICollectionView则是在极少情况下才会去使用,这就导致了我对UICollectionView略感陌生。本篇文章就是以二者对比的方式对UICollectionView做一个小总结。
拉维
2019/08/12
1.2K0
iOS10 / Swift3.0 / XCode 8 总结
因为它企图访问敏感数据时没有在应用程序的Info.plist 设置privacy key 新增的privacy setting如下:
100001509164
2022/01/20
8080
iOS10 / Swift3.0 / XCode 8 总结
iOS14开发-UIView
在 iOS 13 中引入了新的 API — Diffable Data Source,它不仅能够驱动 UITableView 和 UICollectionView,而且可以更简单高效的实现数据的刷新。
YungFan
2021/01/21
11.9K0
vmware workstation 克隆后网卡eth0不能正常工作
解决方法如下 修改/etc/udev/rules.d/70-persistent-net.rules 将eth0这行注释掉或者删除, 这里记载的还是克隆系统时的MAC地址,但是新启动的系统MAC已经更改, 将NAME="eth1" 改为 “eth0”,ATTR 标记的MAC地址,这个是虚拟机为这个虚拟网卡分配的MAC,用上面的MAC替换掉 /etc/sysconfig/network-scripts /ifcfg-eth0中的MAC 然后重启即可 还有一个办法,不用eth0,直接用eth1等,把/etc/sysconfig/network-scripts/ifcfg-eth0复制成/etc/sysconfig/network-scripts/ifcfg-eth1
三杯水Plus
2018/11/14
2.4K0
美团面试:JVM 堆内存溢出后,其他线程是否可继续工作?
我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
程序猿DD
2021/07/13
4730
美团面试:JVM 堆内存溢出后,其他线程是否可继续工作?
IOS UIRefreshControl刷新控件
import UIKit class ViewController:UIViewController,UITableViewDelegate,UITableViewDataSource{ @IBOutlet weak var tabvLayout:UITableView! var refreshControl = UIRefreshControl() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. self.automaticallyAdjustsScrollViewInsets = false //添加刷新 refreshControl.addTarget(self, action:#selector(refreshData), for: UIControlEvents.valueChanged) refreshControl.attributedTitle =NSAttributedString(string:”松开后自动刷新”) tabvLayout.addSubview(refreshControl) refreshData() } // 刷新数据 func refreshData() { self.tabvLayout.reloadData() self.refreshControl.endRefreshing() } // MARK:- UITableViewDataSource func tableView(_ tableView:UITableView,numberOfRowsInSection section:Int) -> Int { return 10; } func tableView(_ tableView:UITableView,cellForRowAt indexPath:IndexPath) -> UITableViewCell { let cell = UITableViewCell(style:UITableViewCellStyle.value1, reuseIdentifier:“newsCell”) let date = NSDate() let timeFormatter = DateFormatter() timeFormatter.dateFormat = “yyy-MM-dd ‘at’ HH:mm:ss.SSS” //(时间格式) let strNowTime = timeFormatter.string(from:date as Date) as String cell.textLabel?.text = strNowTime let rect = CGRect(x:0,y:cell.frame.height-1,width:self.view.frame.size.width,height:1) let label = UILabel(frame:rect) label.backgroundColor = UIColor.lightGray() cell .addSubview(label) return cell; } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
用户5760343
2019/07/08
7150
IOS UIRefreshControl刷新控件
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
芋道源码
2019/07/05
3380
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
公众号 IT老哥
2021/09/16
3000
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
java进阶架构师
2021/05/08
5010
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
乔戈里
2019/08/20
3370
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
良月柒
2019/12/03
4470
某团面试题:JVM 堆内存溢出后,其他线程是否可继续工作?
很纠结,是工作还是继续考研?
简单介绍一下这位同学的情况,他目前大四,学校不是很好。大学期间有参加过一些比赛,也有一些小厂的实习经验。但是在今年的考研当中发挥不是很好,专业课压线,国家线没过。由于临近毕业,他现在非常烦恼,不知道是如何选择是应该二战考研呢还是应该先找个工作干着。
帅地
2021/05/27
4480
美团面试题:JVM堆内存溢出后,其他线程是否可继续工作?
最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。
Spark学习技巧
2019/06/28
5520
美团面试题:JVM堆内存溢出后,其他线程是否可继续工作?

相似问题

如何使用库SortableJS提交新排序的元素列表

15

如何使用SortableJS仅检测drop事件

13

如何使用动态创建的HTML使用拖放?(SortableJS)

10

如何从启用SortableJS的UL中删除元素

139

如何在cakephp4中比较datetime

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文