首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >`dmap_if`和model.matrix在一起

`dmap_if`和model.matrix在一起
EN

Stack Overflow用户
提问于 2016-06-22 14:02:39
回答 1查看 151关注 0票数 0

我正在使用来自Arthritis包的vcd数据集来执行一个热编码。我想把purrr::dmap_ifMatrix::model.matrix结合起来来做这件事。当我跑的时候

代码语言:javascript
复制
do.call(model.matrix, list(Improved~.,Arthritis))

工作得很好。

当我使用以下代码时,代码不起作用

代码语言:javascript
复制
Arthritis %>% dmap_if(is.factor, do.call(model.matrix, list(Improved~., .)))
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-22 18:11:49

据我所知,dmap_if一次遍历dataset的列,因此不一定是完成此任务的合适工具。

如果要在应用函数之前只使用因子变量,请考虑keep。一旦使用keep只选择了因子变量,就可以使用invoke应用model.matrixinvoke函数只是do.call的一个包装器,它可以很好地与管道一起工作。

代码语言:javascript
复制
Arthritis %>% 
    keep(is.factor) %>% 
    invoke(model.matrix, Improved~., data = .)

   (Intercept) TreatmentTreated SexMale
1            1                1       1
2            1                1       1
3            1                1       1
4            1                1       1
5            1                1       1
6            1                1       1
7            1                1       1
8            1                1       1
9            1                1       1
10           1                1       1
11           1                1       1
12           1                1       1
13           1                1       1
14           1                1       1
15           1                1       0
16           1                1       0
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37970385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档