У меня есть этот список l
l
$`5216014`
$`5216014`[[1]]
name key rank
1 Animalia 1 kingdom
2 Chordata 44 phylum
3 Elasmobranchii 121 class
4 Rajiformes 884 order
5 Rajidae 5877 family
6 Raja 2342057 genus
7 Raja montagui 5216014 species
$`5216208`
$`5216208`[[1]]
name key rank
1 Animalia 1 kingdom
2 Chordata 44 phylum
3 Elasmobranchii 121 class
4 Rajiformes 884 order
5 Rajidae 5877 family
6 Amblyraja 2420436 genus
7 Amblyraja radiata 2420446 species
Я хотел бы извлечь только row
число 7 для столбцов name
и key
и создать базу данных, подобную этой:
df
name key
Raja montagui 5216014
Amblyraja radiata 2420446
Я пробовал с lapply
функцией:
lapply(l,function(x) x[7])
но результат таков:
$`5216014`
$`5216014`[[1]]
NULL
$`5216208`
$`5216208`[[1]]
NULL
Я пытался преобразовать l
во фрейм данных:
data.frame(matrix(unlist(l)))
но я получил один большой столбец со всеми данными как:
kingdom
phylum
class
order
family
genus
species
Animalia
Chordata
Elasmobranchii
4943
Rajiformes
Rajidae
Raja
Raja montagui
1
44
121
884
5877
2342057
5216014
4954
kingdom
phylum
class
order
family
genus
species
Animalia
Chordata
Elasmobranchii
Rajiformes
4965
Rajidae
Amblyraja
Amblyraja radiata
1
44
121
884
5877
2420436
2420446
kingdom
phylum
class
order
family
genus
species
Где я не прав?
P.S: этот вид list
l
является выводом пакетов rgbif
, с кодом:
keySpecies <- c(5216014,2420446)
l.1 <- occ_search(taxonKey=keySpecies,
limit=1, return='hier',
curlopts=list(verbose=F))
l <- l.1[c(1:length(unique(keySpecies)))] #cut all element of list that are not useful