Tôi không thể che giấu xung quanh tài liệu cho số ?stack và lý do khiến tài khoản không hoạt động. Xem xét:Rắc rối hiểu cách thức hoạt động của stack()
> set.seed(1)
> x1 = sample(c(letters[1:5], NA), size=10, replace=TRUE)
> x2 = sample(c(letters[1:5], NA), size=10, replace=TRUE)
> is.vector(x1)
[1] TRUE
> rbind(x1, x2)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
x1 "b" "c" "d" NA "b" NA NA "d" "d" "a"
x2 "b" "b" "e" "c" "e" "c" "e" NA "c" "e"
> stack(x1, x2)
Error in rep.int(names(x), lapply(x, length)) : invalid 'times' value
> stack(list(x1, x2))
Error in rep.int(names(x), lapply(x, length)) : invalid 'times' value
> df = data.frame(x1=x1, x2=x2)
> stack(df)
Error in stack.data.frame(df) : no vector columns were selected
Dưới đây là những gì tôi muốn:
values ind
"b" "x1"
"c" "x1"
"d" "x1"
NA "x1"
... etc.
Và không chỉ danh sách, mà còn là danh sách _named_ (hoặc data.frame). –
@JoshuaUlrich Tài liệu có lẽ nên rõ ràng hơn về điều đó, tôi nghĩ vậy. – joran
Tôi đồng ý, nhưng ai đó sẽ đi cùng và nói để chỉ sử dụng plyr thay vào đó, vì vậy nó là một điểm tranh luận. :) –