【发布时间】:2020-01-04 22:25:13
【问题描述】:
我正在尝试将列表中的数据移动到数据框中。当我运行数据路径时,如:
RequestData[["rows"]][["elements"]][[1]][["distance"]][["text"]]
我得到了结果:
[1] "8.4 km"
但是当我在函数中使用相同的路径时:
disData <- lapply(seq_along(RequestData), function(x){
Dis_km <- RequestData[["rows"]][["elements"]][[x]][["distance"]][["text"]]
Duration <- RequestData[["rows"]][["elements"]][[x]][["duration"]][["text"]]
ID <- all_articles[x,"id"]
if (is.data.frame(Dis_km) && nrow(Dis_km)>0){
res_df <- data.frame(
distanca=Dis_km,
Duration=Duration,
Id = ID
)
}
})
函数返回一个空对象disData。
备注:函数中的对象all_articles是另一个独立的数据框。
此数据在列表中: :
RequestData
$destination_addresses
[1] "Maršala Tita 62, Sarajevo 71000, Bosnia and Herzegovina"
$origin_addresses
[1] "Mustafe Latifića, Sarajevo 71000, Bosnia and Herzegovina" "Porodice Ribar, Sarajevo 71000, Bosnia and Herzegovina"
[3] "Skenderija & Adila Grebe, Sarajevo 71000, Bosnia and Herzegovina" "Azize Šaćirbegović, Sarajevo 71000, Bosnia and Herzegovina"
[5] "Bosanska, Sarajevo 71000, Bosnia and Herzegovina" "Jezero, Sarajevo 71000, Bosnia and Herzegovina"
[7] "Behdžeta Mutevelića, Sarajevo 71000, Bosnia and Herzegovina" "Emila Zole, Sarajevo 71000, Bosnia and Herzegovina"
[9] "Braće Begić, Sarajevo 71000, Bosnia and Herzegovina" "Porodice Ribar, Sarajevo 71000, Bosnia and Herzegovina"
[11] "Nedima Filipovića, Sarajevo 71000, Bosnia and Herzegovina" "Telali, Sarajevo 71000, Bosnia and Herzegovina"
[13] "Ohridska, Sarajevo, Bosnia and Herzegovina" "Muse Ćazima Ćatića, Sarajevo 71000, Bosnia and Herzegovina"
[15] "Džemala Bijedića, Sarajevo, Bosnia and Herzegovina" "Ferde Hauptmana, Sarajevo 71000, Bosnia and Herzegovina"
[17] "Bakarevićeva & Bistrik, Sarajevo 71000, Bosnia and Herzegovina" "Vratnik Mejdan, Sarajevo 71000, Bosnia and Herzegovina"
[19] "Mis Irbina, Sarajevo 71000, Bosnia and Herzegovina" "Koševo, Sarajevo 71000, Bosnia and Herzegovina"
$rows
elements
1 8.4 km, 8432, 1 hour 47 mins, 6413, OK
2 3.5 km, 3538, 46 mins, 2779, OK
3 0.7 km, 692, 9 mins, 552, OK
4 3.9 km, 3863, 50 mins, 3023, OK
5 6.3 km, 6275, 1 hour 19 mins, 4761, OK
6 0.8 km, 838, 11 mins, 655, OK
7 3.2 km, 3196, 41 mins, 2460, OK
8 7.9 km, 7898, 1 hour 43 mins, 6163, OK
9 2.4 km, 2413, 31 mins, 1842, OK
10 3.5 km, 3538, 46 mins, 2779, OK
11 4.0 km, 4041, 53 mins, 3165, OK
12 0.9 km, 937, 12 mins, 713, OK
13 2.8 km, 2837, 41 mins, 2432, OK
14 0.6 km, 611, 7 mins, 438, OK
15 4.5 km, 4507, 59 mins, 3550, OK
16 4.0 km, 4034, 53 mins, 3162, OK
17 1.0 km, 1039, 14 mins, 814, OK
18 1.6 km, 1564, 20 mins, 1215, OK
19 0.6 km, 595, 8 mins, 470, OK
20 1.9 km, 1883, 24 mins, 1425, OK
$status
[1] "OK"
第一个元素的列表结构如下所示:
有什么问题? 谢谢!
【问题讨论】:
-
在数据框中,您是否希望destination_addresses 和status 重复所有行的值,还是只为第一行指定值,其余为null?
-
不是。我只想从路径 $rows$elements$distance 和路径 $rows$elements$duration 中获取值,然后将它们与另一个数据框(all_articles)中的 id 合并
-
您还可以分享列表元素的结构吗?显然元素行中有一个数据框,但不清楚它包含哪些列名。还有对 all_articles 的引用,但不清楚它指的是什么。
-
我添加了必要的信息。
-
请检查给出的答案