Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何辨别哪些变量依赖于分组变量?

如何辨别哪些变量依赖于分组变量?
EN

Stack Overflow用户
提问于 2021-01-15 06:36:22
回答 2查看 30关注 0票数 0

我希望找到在一个组中有多个值的变量--即依赖于(或不依赖)分组变量的变量。

换句话说,例如使用具有以下信息的数据帧

(1)依赖于公司(例如“行业”)或

(2)取决于公司年度(例如“年销售额”),

我希望能够辨别哪些变量属于类型(1),哪些属于类型(2)。

代码语言:javascript
运行
AI代码解释
复制
sample_df <- 
    data.frame(
        year = rep(2013:2015, 3), 
        firm = rep(c("Disney", "Netflix", "Hulu"), each = 3), 
        infoA = c(rep(1, 6), rep(2, 3)), 
        infoB = c(c(1:3), rep(2, 6)), 
        infoC = rep(3:1, each = 3)
    )

# year    firm infoA infoB infoC
# 2013  Disney     1     1     3
# 2014  Disney     1     2     3
# 2015  Disney     1     3     3
# 2013 Netflix     1     2     2
# 2014 Netflix     1     2     2
# 2015 Netflix     1     2     2
# 2013    Hulu     2     2     1
# 2014    Hulu     2     2     1
# 2015    Hulu     2     2     1

如果分组变量是'firm',

(1)列'infoA‘和'infoC’在每个组内不变,

(2)虽然“year”和“infoB”在每个组中会有所不同,

在有许多列的环境中,实现这种划分的最简单方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-15 07:04:36

我们可以编写一个函数来计算每个组的唯一值的数量。如果值有变化,则返回TRUEFALSE

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

check_dependability <- function(data, col1, col2 = NULL) {
  data %>%
    group_by({{col1}}, {{col2}}) %>%
    summarise(across(.fns = ~n_distinct(.) > 1))
}

check_dependability(sample_df, firm)

#  firm    year  infoA infoB infoC
#  <chr>   <lgl> <lgl> <lgl> <lgl>
#1 Disney  TRUE  FALSE TRUE  FALSE
#2 Hulu    TRUE  FALSE FALSE FALSE
#3 Netflix TRUE  FALSE FALSE FALSE

check_dependability(sample_df, firm, year)

#  firm     year infoA infoB infoC
#  <chr>   <int> <lgl> <lgl> <lgl>
#1 Disney   2013 FALSE FALSE FALSE
#2 Disney   2014 FALSE FALSE FALSE
#3 Disney   2015 FALSE FALSE FALSE
#4 Hulu     2013 FALSE FALSE FALSE
#5 Hulu     2014 FALSE FALSE FALSE
#6 Hulu     2015 FALSE FALSE FALSE
#7 Netflix  2013 FALSE FALSE FALSE
#8 Netflix  2014 FALSE FALSE FALSE
#9 Netflix  2015 FALSE FALSE FALSE
票数 1
EN

Stack Overflow用户

发布于 2021-01-15 06:43:29

根据groupnig变量进行分组,并计算不同项的数量,如果它们都相同,则返回0或1

代码语言:javascript
运行
AI代码解释
复制
res=aggregate(
  subset(sample_df,select=-c(firm)),
  list(sample_df$firm),
  function(x){
    if (length(table(x))==1){
      0
    } else {
      1
    }
  }
)
  Group.1 year infoA infoB infoC
1  Disney    1     0     1     0
2    Hulu    1     0     0     0
3 Netflix    1     0     0     0

要找出哪些列与分组变量不同,只需按列求和

代码语言:javascript
运行
AI代码解释
复制
colSums(subset(res,select=-c(Group.1)))==0
 year infoA infoB infoC 
FALSE  TRUE FALSE  TRUE 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65731506

复制
相关文章
java中的局部变量和全局变量哪个优先_java中成员变量是全局变量吗
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171760.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/24
1.3K0
Node.js 服务连接 MongoDB 处理最佳实践
关于如何处理 node.js 服务连接 MongoDB,我查阅了大量中英文资料,发现并没有太适合我所期望的能力的方案,因此经过一番官方文档的研究,总结了以下的连接 MongoDB 的方法(使用目前 Node.js 平台最常用的 MongoDB ODM mongoose),斗胆称之为『最佳实践』,希望能够抛砖引玉,得到大家更专业的解答。 话不多说,先上代码:
逆葵
2019/04/25
3.5K0
html js 全局 变量,JS定义全局变量
在高级开发语言(如c#、Java)中可以很方便地使用“public”等关键字,定义应用程序中的全局变量,但JaVascript的变量只能存在于当前的方法中。本例通过一个简单的方法实现全局变量的定义。
全栈程序员站长
2022/09/06
15.8K0
html js 全局 变量,JS定义全局变量
Postgresql vacuum最佳实践
Postgresql作为世界上最先进的HTAP数据库,以其超高在线事务处理及分析性能和强大的功能被广泛应用与各行各业中。但其实它也并不完美,说到postgres,不得不提那个让人一直头疼的问题,也是数据库使用者所诟病最多的地方:vacuum。那么为什么会有vacuum这个东西呢?它是做什么用的呢?
数据库架构之美
2019/12/18
1.9K0
taro中定义以及使用全局变量
错误的姿势 // app.tsx文件中 class App extends Component { componentDidMount() { this.user = { name: '张三', id: 1 }; } } // index.tsx 文件中 const app = Taro.getApp(); export default class Index extends Component { componentWillMount() { console.log(ap
用户1437675
2019/06/11
5.7K0
七大Web应用程序安全最佳实践
2020年,CVE Details的数据显示,平均每天发现50个新的漏洞。因此,采取防护措施保护Web应用程序对企业安全的至关重要。本文将探索七种最佳实践给予Web应用程序最安全的保护。
Anita
2021/10/27
1.3K0
七大Web应用程序安全最佳实践
MySQL 定义变量 – 局部 – 全局
注意哦:这个局部变量是Session回话级别的,关闭本次回话,也就是在你Navicat关闭”新建查询”变量就会消失了。
收心
2023/03/27
2.6K0
MySQL 定义变量 – 局部 – 全局
JS 定义全局变量[通俗易懂]
需注意的是该句不能包含在function内,否则是局部变量。这是第一种方式声明全局变量。
全栈程序员站长
2022/08/31
10.4K0
Java设置全局变量_java如何定义全局变量
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171767.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/24
3K0
java全局变量的定义和声明_定义全局变量的方法
JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意: 一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中赋值(当然实例变量是不行的);
全栈程序员站长
2022/09/24
6.4K0
qml全局变量定义建议
  定义qml变量相当于定义JavaScript变量。JavaScript变量命名必须以字母,_,$为开头。其他字符可以是字母,_,$,数字。
Qt君
2020/02/10
3K1
Salesforce全局搜索的最佳实践
你是否想在庞大的Salesforce系统数据中搜索到客户,销售订单以及其它用户的信息,Salesforce全局搜索可以帮助你实现这一目标。
臭豆腐
2019/04/16
1.5K0
Salesforce全局搜索的最佳实践
Node.js 安全最佳实践
最近 Node.js 团队在官方文档上公布了一份最新的安全实践,解读了一些 Node.js 服务下一些常见的攻击场景以及预防手段,我们一起来看看吧!
ConardLi
2023/01/09
2.3K0
Node.js 安全最佳实践
Node.js在携程的落地和最佳实践
本文主要介绍在携程,Node.js 技术栈是如何从 0 到 1 进行技术落地的,以及在不断磨合的过程中,总结出来的最佳实践。
coder_koala
2019/12/06
7070
Node.js在携程的落地和最佳实践
PostgreSQL 自动创建分区最佳实践
分区表是 PostgreSQL 在 10 版本才具有的特性,实际使用中,用户往往需要做到提前创建分区或者按写入的数据实时创建分区。 本文探讨常见的几种自动分区创建方案。
艾超_运成
2022/02/13
4.5K0
PostgreSQL 自动创建分区最佳实践
Java如何定义全局变量_全局变量的默认值
有时一个项目中会多处涉及到路径,当你把这个项目移植到别的电脑上时就要一一修改这些路径,过程十分繁琐,所以一个全局变量在这时是必不可少的。
全栈程序员站长
2022/09/24
2.6K0
什么是全局变量,局部变量,静态全局变量,静态局部变量
这些是编程语言中的基本概念,如果你还不是非常明确地清楚标题的问题,并且不知道作用域,链接属性,存储期等概念的具体含义,那么本文你不该错过。为了更加清晰的理解我们的问题,需要先了解三个概念:作用域,链接属性,存储期。
编程珠玑
2019/07/12
2.5K0
【Node.js】全局可用变量、函数和对象
在Node.js中提供了一些全局可用的变量、函数和对象,全局就是不需要进行模块加载,可以直接使用的。其中包括全局作用域的函数和对象。也包括不在全局作用域,而在每个模块作用域都存在的变量、函数和对象,在全局可用,但不是golbal对象的属性。
颜颜yan_
2023/02/19
2.6K0
【Node.js】全局可用变量、函数和对象
Windows多个应用程序共享全局变量,静态变量
默认情况下exe不同实例使用copy-on-write技术避免共享数据,比如运行了两个exe,最开始它们使用的都是一份虚拟内存页,然后第一个实例修改了全局变量, 这时候COW就会复制那一页,然后将第一个进程地址空间对应页映射到新复制的页,第二个实例保持映射老的页。 但是如果真的需要多个实例共享数据,比如计算有多少个exe程序正在运行,就可以使用该技术。
racaljk
2018/08/31
1.2K0
loadrunner 脚本开发-定义全局变量
如果参数是全局的,在脚本中的任何一个Action中都可以使用,变量一般是局部的,如果跨Action调用会出现未声明的错误。
授客
2019/09/12
1.2K0
loadrunner 脚本开发-定义全局变量

相似问题

在员工服务中调用Web是最佳实践吗?

12

在web应用程序中管理数据库连接的最佳实践

47

加密web.config是最佳实践吗

12

JavaScript中“全局”变量的最佳实践?

12

JavaScript最佳实践-全局变量

48
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

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