【发布时间】:2016-04-27 03:36:27
【问题描述】:
我正在使用 R 并且我有类似的数据
California | Los Angeles
California | San Diego
California | San Francisco
New York | Albany
New York | New York City
我想转换成的
California | New York
Los Angeles | Albany
San Diego | New York City
San Francisco | NA
我正在尝试在tidyr 中使用spread(),但不能完全按照我需要的方式给我输出。我能来的最接近的是
California | New York
Los Angeles | NA
San Diego | NA
San Francisco | NA
NA | Albany
NA | New York City
有人可以帮我把它弄成想要的格式吗?
【问题讨论】:
-
你得到的输出(我假设来自
spread(df, col1, col2))正是你对tidyr的期望。 -
v2 <- split(df$v2, df$v1) ; data.frame(lapply(v2, function(x){c(x, rep(NA, max(sapply(v2, length)) - length(x)))}))