EID   Year Performance_rating
E100  2013                  4
E100  2014                  1
E200  2012                  4
E200  2013                  5
E200  2014                  2
E200  2015                  4

我需要用于建模目的的数据的方式是非重复的 EID,在单独的列中有每年的性能评级(注意有些有 2 年的数据,有些有 3 年和一些 4 年的数据,基于加入日期)
EID Performance_rating_2012 Performance_rating_2013 Performance_rating_2014 Performance_rating_2015
E100                     NA                       4                       1                      NA
E200                      4                       5                       2                       4

我尝试了多种方法来解决这个问题,但失败了,所以在这里发帖,任何答案都将不胜感激

最佳答案

我们可以使用 dcast

library(reshape2)
dcast(df1, EID~ paste0("Performance_rating_", Year), value.var="Performance_rating")
#  EID Performance_rating_2012 Performance_rating_2013 Performance_rating_2014 Performance_rating_2015
#1 E100                      NA                       4                       1                      NA
#2 E200                       4                       5                       2                       4

关于r - 转置以获取 R 中每个 ID 的单行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36672584/

10-12 17:10