Днем (или утром, вечером)
Я пытаюсь объединить несколько .csv
файлов, которые имеют похожую разметку, у них есть класс в одном столбце (character
) и изобилие (* 1005)*) в другом.
При импорте в качестве data.frame
пример будет:
print(one[1:5,])
X Class Abundance_inds
1 1 Chaetognath 2
2 2 Copepod_Calanoid_Acartia_spp 9
3 3 Copepod_Calanoid_Centropages_spp 4
4 4 Copepod_Calanoid_Temora_spp 1
5 5 Copepod_Calanoid_Unknown 55
Столбец класса ( количество строк и порядок ) изменяет каждый CSVосновываясь на том, что было найдено, и я хочу связать несколько (более 30) CSV-файлов на основе столбца класса, у меня было следующее (которое, я уверен, работало некоторое время назад .....):
DensityFiles <- list.files(CSVdirectory,
pattern = '.csv',
full.names = T)
Combined <- rbindlist(
lapply(
DensityFiles,
fread),
fill = TRUE,
use.names = TRUE)
Это производит следующее:
str(Combined)
Classes ‘data.table’ and 'data.frame': 461 obs. of 3 variables:
не совсем то, что я был после!Я ищу следующее:
> print(example)
X Class CSV.NAME CSV.NAME.1
1 1 Bivalve_Larvae 1 3
2 2 Bryozoa_Larvae 4 6
3 3 Chaetognath NA 7
4 4 Cnidaria 1 8
5 5 Copepod_Calanoid_Acartia_spp 22 NA
6 6 Copepod_Calanoid_Calanus_spp 24 4
7 7 Copepod_Calanoid_Candacia_sp 5 3
8 8 Copepod_Calanoid_Centropages_spp 41 2
9 9 Copepod_Calanoid_Temora_spp 39 8
10 10 Copepod_Calanoid_Unknown 458 NA
11 11 Copepod_Cyclopoid_Corycaeus_spp 46 NA
12 12 Copepod_Cyclopoid_Oithona_spp NA 4
13 13 Copepod_Cyclopoid_Oncaea_spp NA 7
14 14 Copepod_Harpacticoid 36 NA
15 15 Copepod_Nauplii 12 9
Я могу получить имя CSV в заголовке столбца, используя idcol = "origin"
при использовании data.table
libary rbindlist
.но не уверен, что это работает для всех решений.
У меня была хорошая охота, но большинство примеров, похоже, имеют дело с постоянным количеством строк,
любая помощь будет принята с благодарностью!
Джим