我有一個數據幀,它由兩列組成:一個字符向量col1
和一個list
列,col2
。從其他列中刪除保留數據幀列的信息
myVector <- c("A","B","C","D")
myList <- list()
myList[[1]] <- c(1, 4, 6, 7)
myList[[2]] <- c(2, 7, 3)
myList[[3]] <- c(5, 5, 3, 9, 6)
myList[[4]] <- c(7, 9)
myDataFrame <- data.frame(row = c(1,2,3,4))
myDataFrame$col1 <- myVector
myDataFrame$col2 <- myList
myDataFrame
# row col1 col2
# 1 1 A 1, 4, 6, 7
# 2 2 B 2, 7, 3
# 3 3 C 5, 5, 3, 9, 6
# 4 4 D 7, 9
我想不公開我的col2
在列表中仍然保持了向量的每個元素存儲在col1
的信息。用不同的方式來描述它,在常用的數據框整形術語中:「寬」列表欄應轉換爲「長」格式。
然後在一天結束時,我想要兩個長度等於length(unlist(myDataFrame$col2))
的向量。在代碼:
# unlist myList
unlist.col2 <- unlist(myDataFrame$col2)
unlist.col2
# [1] 1 4 6 7 2 7 3 5 5 3 9 6 7 9
# unlist myVector to obtain
# unlist.col1 <- ???
# unlist.col1
# [1] A A A A B B B C C C C C D D
我想不出任何直接的方式來得到它。