arrays - 使用数组而不是列作为 R 中的特征进行回归
问题描述
我想知道是否可以对将在单个列中的特征进行回归以及如何进行。
例子。假设我的数据集是这样的:
my_dataset <- data.frame(users=c(1,1,1,2,2),
items=c('A','B',"C","A","D"),
target=c(0,0,0,1,1))
输出:
我知道通常要进行任何类型的回归,需要将列转置为每个客户有一行,其特征是这样的列
normal_dataset <- data.frame(users=c(1,2),
A =c(1,1),
B =c(1,0),
C= c(1,0),
D= c(0,1),
target=c(0,1)
)
但我想知道是否有模型可以直接使用第一个数据帧 my_dataset 而无需转置,因为它需要数据操作而且还需要大量数据操作
我在想也许可以将所有数据保持在一行中但像这样连接起来的东西
library("dplyr")
maybelikethis <- my_dataset %>%
group_by(users) %>%
summarise(item_list = paste(items, collapse = ' '),
target = sum(target)) %>%
mutate(target = ifelse(target >0,1,0))
我愿意接受任何建议
解决方案
我们可以spread
在这里使用
library(dplyr)
library(tidyr)
my_dataset %>%
mutate(n = 1) %>%
spread(items, n, fill = 0)
#. users target A B C D
#1 1 0 1 1 1 0
#2 2 1 1 0 0 1
推荐阅读
- mocking - 这个'错误:'发送'不是类型'在声明模拟中是什么意思
- github-api - Probot 应用程序在尝试合并 PR 时抛出“资源无法通过集成访问”
- c++ - 对双精度使用融合乘法累加有多大优势?
- linux - 以 ubuntu 标准用户身份连接到 postgres
- firebase - 如何将异步应用于 firebase 函数?
- javascript - Laravel 和反应 | 如何实现每个组件一个视图?
- python - 请求会话问题中的 Cookie 值?
- javascript - 链接到页面会导致在 NextJS 中重新呈现整个页面
- python - 在线程中读取更高频率的数据并使用 Tkinter 实时绘制图形
- c# - return 关键字后面不能跟对象表达式是什么意思?