2016-01-21 79 views
1

我使用的是從tidyr(0.4.0版本)嵌套變量nest功能在一個簡單的數據幀:爲什麼tidyr像這樣嵌套?

df <- structure(list(id = 1:4, type = c("B", "A", "B", "B")), 
       class = "data.frame", row.names = c(NA, -4L), 
       .Names = c("id", "type")) 
df 
# id type 
# 1 1 B 
# 2 2 A 
# 3 3 B 
# 4 4 B 

tidyr::nest(df, id) 
# type data 
# 1 B  2 
# 2 A 1, 3, 4 

爲什麼嵌套數據框的第一行沒有type = "A", data = 2?這是一個錯誤還是我只是誤解nest應該做什麼?

+0

我得到正確的輸出, 「A」 之首。嘗試重新啓動您的R會話。 –

+0

我已經重新啓動R並嘗試從R,RStudio和命令行中運行。每次輸出相同。 – user2802241

+0

我還以「ID」爲2首先獲得了正確的輸出「A」。您還加載了哪些其他軟件包?不是因爲你直接調用'tidyr :: nest',所以它應該很重要,但是很高興知道。 – brittenb

回答

1

tidyr 0.3.1產生正確的輸出對我來說:

library(tidyr) 

df <- structure(list(id = 1:4, type = c("B", "A", "B", "B")), 
       class = "data.frame", row.names = c(NA, -4L), 
       .Names = c("id", "type")) 

df2 <- nest(df, id) 
as.data.frame(df2) 
# type  id 
# 1 A  2 
# 2 B 1, 3, 4 

sessionInfo() 
R version 3.2.3 (2015-12-10) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 7 x64 (build 7601) Service Pack 1