R model.matrix 在所有列中使用相同的因子集

2023-12-30

我有一组篮球阵容数据,有五列,每列共享相同的因子,如下所示:

head(dat)
              V1             V2            V3            V4              V5
1   MILES,KEATON KINGSLEY,MOSES  BELL,ANTHLON HANNAHS,DUSTY   DURHAM,JABRIL
2   MILES,KEATON KINGSLEY,MOSES  BELL,ANTHLON HANNAHS,DUSTY   DURHAM,JABRIL
3 KINGSLEY,MOSES   BELL,ANTHLON HANNAHS,DUSTY DURHAM,JABRIL   THOMPSON,TREY
4 KINGSLEY,MOSES   BELL,ANTHLON HANNAHS,DUSTY THOMPSON,TREY     BEARD,ANTON
5  THOMPSON,TREY    BEARD,ANTON KOUASSI,WILLY   WHITT,JIMMY WATKINS,MANUALE
6  THOMPSON,TREY    BEARD,ANTON KOUASSI,WILLY   WHITT,JIMMY WATKINS,MANUALE

我想要做的是让每一行成为该行上显示的当前因素的虚拟编码,如下所示:

MILES,KEATON  KINGSLEY,MOSES  BELL,ANTHLON  HANNAHS,DUSTY  DURHAM,JABRIL THOMPSON,TREY  BEARD,ANTON  KOUASSI,WILLY  WHITT,JIMMY  WATKINS,MANUALE
           1               1             1              1              1             0            0               0             0               0
           1               1             1              1              1             0            0               0             0               0
           0               1             1              1              1             1            0               0             0               0

然而,model.matrix似乎只有一列的范围;它不会让我在多个列中共享整个因子集。根据[此线程][1]中的一些建议,我尝试了:

df <- as.data.frame(lapply(dat,as.factor))
fList <- lapply(names(df),reformulate,intercept=FALSE)
mList <- lapply(fList,sparse.model.matrix,data=df)
br <- do.call(cBind,mList)
head(br)
6 x 31 sparse Matrix of class "dgCMatrix"
   [[ suppressing 31 column names ‘V1BEARD,ANTON’, ‘V1BELL,ANTHLON’, ‘V1KINGSLEY,MOSES’ ... ]]

1 . . . 1 . . . . 1 . . 1 . . . . . . 1 . . . . . . 1 . . . . .
2 . . . 1 . . . . 1 . . 1 . . . . . . 1 . . . . . . 1 . . . . .
3 . . 1 . . . 1 . . . . . . 1 . . . 1 . . . . . . . . . . . 1 .
4 . . 1 . . . 1 . . . . . . 1 . . . . . . . 1 . . 1 . . . . . .
5 . . . . 1 1 . . . . . . . . 1 . . . . . . . . 1 . . . . . . 1
6 . . . . 1 1 . . . . . . . . 1 . . . . . . . . 1 . . . . . . 1

它结合了列名称和因子名称。我该怎么办?


我们可以尝试mtabulate from qdapTools

library(qdapTools)
mtabulate(as.data.frame(t(df1)))
# BELL,ANTHLON DURHAM,JABRIL HANNAHS,DUSTY KINGSLEY,MOSES MILES,KEATON THOMPSON,TREY BEARD,ANTON KOUASSI,WILLY
#1            1             1             1              1            1             0           0             0
#2            1             1             1              1            1             0           0             0
#3            1             1             1              1            0             1           0             0
#4            1             0             1              1            0             1           1             0
#5            0             0             0              0            0             1           1             1
#6            0             0             0              0            0             1           1             1
#  WATKINS,MANUALE WHITT,JIMMY
#1               0           0
#2               0           0
#3               0           0
#4               0           0
#5               1           1
#6               1           1

或者使用base R

 table(rep(1:nrow(df1), ncol(df1)), unlist(df1))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R model.matrix 在所有列中使用相同的因子集 的相关文章

  • 对 data.table 中的列表列执行操作

    假设我有一个data table 例如dt lt data table foo list 1 3 4 6 bar c 2 7 如何使用 dt 框架对 foo 向量列表执行操作 操作可能是将 bar 添加到 foo 返回列表 3 5 11 1
  • 从日期变量创建月末日期

    我有一个包含日期变量的大型数据框 它反映了该月的第一天 有没有一种简单的方法来创建代表该月最后一天的新数据框日期变量 以下是一些示例数据 date start month seq as Date 2012 01 01 length 4 by
  • 使用字符串中的变量名称访问变量值,R

    Intro 一个数据集有大量的age year变量 age 1990 age 1991 etc 我有一个字符串值数组length age years 表示这些变量 使得age years 1 回报 age 1990 etc Need 我想搜
  • randomForest 包在删除一个预测类时的奇怪行为

    我正在运行一个随机森林模型 它产生的结果从统计角度来看对我来说完全没有意义 因此我确信有些东西mustrandomForest 包的代码出现错误 至少在模型的本次迭代中 预测 左侧变量是具有 3 种可能结果的政党 ID 民主党 独立党 共和
  • rpart“as.character(x) 中的错误:无法强制类型 'builtin' 为类型 'character' 的向量”消息是什么意思?

    我一直在用头撞rpart几天了 尝试为我拥有的这个数据集制作分类树 我认为现在是时候询问生命线了 我确信这是我没有看到的愚蠢的事情 但这里是我一直在做什么 EuropeWater lt read csv file paste Users a
  • Quantmod 的简单功能不再起作用

    我明天要交论文 我收到了一条关于 quantmod 的非常奇怪的错误消息 这是我在过去几周使用这个包时从未遇到过的 我无法导入特定于道琼斯指数 DJI 的数据 我收到以下错误消息 getSymbols DJI src yahoo from
  • purrr::可能函数可能无法与map2_chr函数一起使用

    我怀疑这是 purrr 包中的错误 但想先在 StackOverflow 中检查我的逻辑 在我看来 possibly功能在内部不起作用map2 chr功能 我正在使用 purrr 版本 0 2 5 考虑这个例子 library dplyr
  • R 中两个时间戳之间的左连接

    我的目标是执行左连接intervals哪里的bike id比赛和created at时间戳在records在 之间start and end in the intervals table gt class records 1 data ta
  • 如何在 data.table 中分组后使用条件计算行数

    我有以下数据框 dat lt read csv s1 s2 v1 v2 a b 10 20 a b 22 NA a b 13 33 c d 3 NA c d 4 5 NA c d 10 20 dat gt A tibble 6 x 4 gt
  • 绘制 Cox 回归的 Kaplan-Meier 图

    我使用 R 中的以下代码设置了一个 Cox 比例风险模型来预测死亡率 添加协变量 A B 和 C 只是为了避免混淆 即年龄 性别 种族 但我们真正对预测变量 X 感兴趣 X 是一个连续变量 cox model lt coxph Surv t
  • 如何在 R 中的 for 循环内将值存储在向量中

    我正在开始使用 R 但我对以下问题感到非常沮丧 我试图将 for 循环内完成的某些计算的值存储到我之前定义的向量中 问题是如何进行索引 因为for循环迭代代码的次数取决于用户的输入 所以变量i不一定要从1开始 它可以从80开始 for举个例
  • `dplyr::_join` 函数的命名向量“by”参数[重复]

    这个问题在这里已经有答案了 我正在写一个函数dplyr join两个数据框by不同的列 第一个数据帧的列名称动态指定为函数参数 我相信我需要使用rlang准引用 元编程 但未能找到可行的解决方案 我很感激任何建议 library dplyr
  • R ggplot 中的柯尔莫哥洛夫-斯米尔诺夫图

    我正在尝试在 r 中绘制 KS 图 一切似乎都很顺利 除了我只能使用颜色来可视化两个不同的样本而不是线型这一事实 我已经尝试过以下方法 sample1 lt SD13009 sample2 lt SD13009PB group lt c r
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • dplyr:连接中的 NSE (by)

    我很难弄清楚如何使用 dplyr left join 和 NSE 连接两个表 问题是我无法为 by 提供正确的值 我想我现在已经找到了解决方案 但感觉我正在以一种额外复杂的方式来做 因此 如果您知道更简单 更优雅的解决方案 请告诉我 这就是
  • R中IF函数的使用

    我正在短跑ifR 中的函数 但收到以下警告消息 In if runif 50 0 1 lt 0 69 the condition has length gt 1 and only the first element will be used
  • 当设置 coord_fixed 时,ggplot/shiny 中的鼠标悬停坐标是错误的

    我正在使用问题中的答案 当您将鼠标悬停在闪亮的 ggplot 上时出现工具提示 https stackoverflow com questions 27965931 tooltip when you mouseover a ggplot o
  • 如何为自定义 S3 类实现提取/取子集 ([ [<-, [[ [[<-)] 函数?

    我有一个自定义的 S3 类foo 它在正常的基础上添加了一些自定义行为data frame foo object lt data frame class foo object lt c foo data frame 对于这个类 还应该有一个

随机推荐

  • 如何在类 Unix shell 中保存交互式命令行程序的输出?

    我正在用 C 语言编码并在 Linux 终端中运行程序 我想将程序的输出保存在 txt 文件中 我通常通过执行来做到这一点 a out gt filename txt 但我编写了一个交互式程序 其中我必须输入一个数字才能启动该程序 这种情况
  • vs2013 编译用于调试但不用于发布?

    我在VS2013中遇到了一些奇怪的事情 我的程序在调试模式下构建得很好 但在release模式下 会出现很多错误 例如 Error 2 error C2440 default argument cannot convert from con
  • 这些获取 DTE2 的方法有什么区别(Visual Studio 2013)

    基于这个问题 https stackoverflow com questions 4955009 getting the dte2 or teamfoundationserverext object in a vs package proj
  • angularJS $on 事件处理程序触发顺序

    在 AngularJS 事件处理的上下文中 我想知道两件事 如何定义监听同一事件的处理程序的触发顺序 如果您开始想知道这一点 这是设计不好的迹象吗 阅读有关角度的文档后 on broadcast 和 emit http docs angul
  • 搜索不适用于 JQGrid 中的过滤器工具栏

    我在稍后阶段 而不是在退出网格时 加载 JQGrid 中的数据时遇到问题 我正在使用过滤器工具栏进行搜索 以下是我正在使用的代码 创建网格 jQuery list jqGrid datatype local colNames my col
  • 找到任意大数的算法

    这是我一直在思考的事情 假设你有一个数字 x 它可以无限大 你必须找出它是什么 您只知道另一个数字 y 是否大于或小于 x 找到 x 的最快 最好的方法是什么 一个邪恶的对手以某种方式选择了一个非常大的数字 说 int x 9 9 9 9
  • Java 是否有带有删除策略的有界集合? [复制]

    这个问题在这里已经有答案了 可能的重复 Java 中保存最后 N 个元素的大小受限队列 https stackoverflow com questions 5498865 size limited queue that holds last
  • 斯坦福核心 NLP 如何获得概率和误差幅度

    当使用解析器或核心 NLP 中的任何注释时 有没有办法访问概率或误差幅度 为了将我的问题放在上下文中 我试图了解是否有一种方法可以以编程方式检测歧义情况 例如 在下面的句子中 动词 desire 被检测为名词 我希望能够知道我可以从 Cor
  • 需要 JavaScript 支持的页面上的 cURL 请求

    我需要获取 pinnaclesports com 的 HTML 源代码 问题是它检测cookie和JS是否启用 如果没有 它只是返回一些页面说 该网站需要启用 JavaScript 和 Cookie 请更改您的浏览器设置或升级您的浏览器 使
  • 无法在 Ubuntu 20.04 上安装 bazel - EXPKEYSIG 无效

    我正在按照以下说明进行操作https docs bazel build versions master install ubuntu html install with installer ubuntu https docs bazel b
  • 如何在快速弹出视图控制器后传递数据

    我正在制作一个关于书籍的应用程序 在应用程序中 我想让应用程序通过获取 ISBN 条形码 自动填充图书信息 views https i stack imgur com ohz2S png 有2个班 一个是 UploadMain 另一个是 S
  • 如何在没有 Windows 窗体引用的情况下获取屏幕分辨率?

    我需要获取运行测试的桌面的分辨率 以前我是这样获取分辨率的 Screen screen Screen PrimaryScreen int screenWidth screen Bounds Width int screenHeight sc
  • 按 JSON 数据类型 postgres 排序

    我有一个 Postgres 表 其中包含 JSON 类型的列 其中包含一堆 JSON 对象 我想查询表记录并按 JSON 字段中存储的值对结果进行排序 我正在运行查询 但它们没有正确排序 我没有找到大量关于专门订购 JSON 字段类型的文档
  • 为什么我在终端中安装的软件包无法在 Spyder 上运行?

    我已经使用 Jupyter Notebook 一段时间了 效果很好 我今天尝试下载 Spyder 但我在终端中安装的许多软件包无法在 Spyder 上运行 例如 pandas datareader在 Jupyter 笔记本上工作正常 但在
  • Silverlight 3 WCF 服务“CommunicationException”服务器返回错误:NotFound

    我有一个 Silverlight 3 应用程序 95 的时间都成功从 WCF 服务 在同一个 Web 应用程序中 请求数据并显示它 这种情况很少发生 通常如果我快速多次访问该服务 但有时它会在单个请求上发生 每隔一段时间 如果我在短时间内请
  • 如何使用 jquery UI 对话框作为 javascript 确认?

    我阅读了很多关于此问题的问题 但每个解决方案都使用相同的解决方法 在 jquery 对话框中提交表单 如下所示 dialog dialog buttons Confirm function window location href targ
  • Rails:自动重新加载虚拟应用程序中使用的 gem 文件

    开发 gem 时 我经常使用需要 gem 的虚拟 Rails 应用程序 以便在开发过程中尝试 gem 更改 另外 我使用相同的虚拟应用程序进行集成测试 通常 我有宝石 rails foo gem 以及相关的虚拟应用程序 rails foo
  • Azure Hyperledger Fabric 单成员区块链设置

    我开始使用 Azure 托管多节点 Hyperledger 网络 我之前一直在本地环境中运行 但想使用 Azure 我部署了 Hyperledger Fabric 单成员区块链 模板 该模板创建了 5 个虚拟机 每个虚拟机用于 CA 订购者
  • 本地主机上的双栈 ipv6/ipv4

    我有一个 ipv4 服务器 它只接受本地主机上的连接 使用INADDR LOOPBACK 我想将此服务器转换为双栈 ipv6 ipv4 然而 使用in6addr loopback只接受连接到 1 我发现我可以同时接受 ipv4 和 ipv6
  • R model.matrix 在所有列中使用相同的因子集

    我有一组篮球阵容数据 有五列 每列共享相同的因子 如下所示 head dat V1 V2 V3 V4 V5 1 MILES KEATON KINGSLEY MOSES BELL ANTHLON HANNAHS DUSTY DURHAM JA