1
我想使用tidyr
的spread函数将行和多列中的多个id的数据帧转换为具有一行的df,其中我们具有所有组合的指示符列的id和类别。如果dplyr
和tidyr
不是最合适的,请打开其他类似传播的函数。将行转换为多个类别的列dplyr
在下面的脚本中,我只能指定1列作为值对。我希望将cat1和cat2作为值栏。另外,我想字段名称为 “sentid1_cat1,sentid1_cat2” 等
test.df <- data.frame(sentid = 1:3,
cat1 = c(1,0,0),
cat2 = c(0,1,0))
test.df %>%
spread(key = sentid, value = cat1, sep = '_')
EDIT
希望的输出:
output.df <- data.frame(sentid1_cat1 = 1,
sentid1_cat2 = 0,
sentid2_cat1 = 0,
sentid2_cat2 = 1,
sentid3_cat1 = 0,
sentid3_cat2 = 0)
我有点不确定你在问什么。你是否介意包含一个输出df的结果是什么样的? –
也许[此帖](https://stackoverflow.com/questions/30592094/r-spreading-multiple-columns-with-tidyr)会有所帮助。如果你显示你想要的输出会很有帮助。 – lmo
我的答案能解决您的问题吗? – useR