我使用R API向數據供應商收到一個數據框的命名列表。以下是我將如何構建一個類似的結構。R將列表對象的名稱傳遞給列出對象自己
spec1 <- data.frame(speed = 100, wt = 5, price = 10)
spec2 <- data.frame(speed = 1000, wt = 1, price = 100)
spec3 <- data.frame(speed = 1, wt = 50, price = 5)
mylist <- list(car = spec1,exotic = spec2, truck = spec3)
我的目標是成爲像下面扁平的數據幀,這樣我可以將其導出到一個SQL數據庫。
car_type speed wt price
-------- ------ ---- -----
car 100 5 10
exotic 1000 1 100
truck 1 50 5
我的問題是,「car_type」標識符存儲在列表中的數據幀的名字,我不知道如何將它傳遞給復讀功能來填充表。
比如我使用以下方法來獲取從項目的名稱car_type列表
car_type <- sapply(seq_along(mylist), function(x) names(mylist)[x])
然後我用下面的重複一個car_type(由「X」代替)在底層表,然後追加。
category <- lapply(mylist, function(y) rep("X" ,dim(y)[1]))
mylist <- lapply(seq_along(mylist), function(x)
不過,我似乎無法管理到car_type中發現的名字傳回在我的數據集創建一個新的類別欄,當它被夷爲平地,這將持續存在。
LOL。太棒了,太容易了。花了這麼多小時試圖弄清楚這一點。非常感謝@ friep – Luongjames