【发布时间】:2018-04-13 03:04:35
【问题描述】:
我有一些长格式的数据想要加宽。 问题是数据的格式没有一条信息可以轻松传播。为了解决这个问题,我必须在数据框中创建一列,从 1 计数到另一列中每个唯一条目的长度。
在下面的过程中,是否有data.table的方式使列“fid”?
library(data.table)
library(tidyverse)
# data:
df <- data.frame(class = c('1', '1', '1', '2', '3', '3'),
A = 1:6,
B = 11:16)
# create counting column
df <- df %>% group_by(class) %>% mutate(fid=1:n())
# spread using dcast
dcast(setDT(df), class ~ fid, value.var = c("A", "B"))
干杯
【问题讨论】:
-
是的,
rowid。在dcast中使用class ~ rowid(class)。
标签: r data.table tidyr