0
我有以下的數據幀:使用列表作爲元素從數據框中提取數據?
Test <- data.frame(matrix(NA, nrow = 1, ncol = 3))
Test$X1 <- list(c(0,1))
Test$X2 <- list(c(2,3))
Test$X3 <- list(c(4,5))
這使我可以放置元素的內部列表:
Test
X1 X2 X3
1 0, 1 2, 3 4, 5
它一直保持在這裏簡單的,但是這將是m個數據幀n。這被傳遞給幾個子程序。現在我需要提取該元素信息。爲此,我循環遍歷列/行。我發現有一次在子程序中我需要做
Test <- as.list(Test)
Test
$X1
$X1[[1]]
[1] 0 1
$X2
$X2[[1]]
[1] 2 3
$X3
$X3[[1]]
[1] 4 5
讓子程序理解這個對象。我現在需要提取數據。要做到這一點,我可以使用
dummy_list <- Test$X2[[1]]
print(dummy_list[1])
print(dummy_list[2])
它給出值2和3的預期。我需要自動執行此操作,以便我可以遍歷每一對值,即數據框中的每個元素。在這個例子中,我需要:測試$ X1 [[1]],測試$ X2 [[1]]和測試$ X3 [[1]]。我如何遍歷列名Xi?迄今爲止所有的嘗試都失敗了。我又看了看調換數據和固定列名(X1),那麼我會能夠太遍歷測試$ X1 [我],但這個測試給
X1 X2 X3
[1,] List,1 List,1 List,1
這不是我想要的東西。有人知道怎麼做嗎?
您可能想要查看'tidyr'包,它引入了tibbles,它是一種管理數據幀內層次結構的方法 – smci