31
tidyr的文檔表明收集和傳播是傳遞性的,但以下帶有「虹膜」數據的示例顯示它們不是,但不清楚原因。任何澄清,將不勝感激傳播帶有重複標識符的data.frame/tibble
iris.df = as.data.frame(iris)
long.iris.df = iris.df %>% gather(key = feature.measure, value = size, -Species)
w.iris.df = long.iris.df %>% spread(key = feature.measure, value = size, -Species)
我期望的數據幀「w.iris.df」是相同的爲「iris.df」,但收到以下錯誤,而不是:
"Error: Duplicate identifiers for rows (1, 2, 3, 4, 5, 6, 7, 8, 9..."
我一般問題是如何在這類數據集上反轉「聚集」的應用。
這不是傳遞性的,因爲沒有足夠的變量來唯一標識觀察值。嘗試添加像'iris.df $ row < - 1:nrow(iris.df)' – hadley 2014-09-23 03:06:09
非常感謝!完美糾正我的誤解。 – 2014-09-23 22:30:47