Я уже загружен 20 CSV файлов с функцией:Создание списка/вектор одного столбца из разных CSV
tbl = list.files(pattern="*.csv")
for (i in 1:length(tbl)) assign(tbl[i], read.csv(tbl[i]))
Вот как это выглядит:
> head(tbl)
[1] "F1.csv" "F10_noS3.csv" "F11.csv" "F12.csv" "F12_noS7_S8.csv"
[6] "F13.csv"
Во всех этих CSV файлов столбец «Присоединение». Я хотел бы сделать список всех «имен» внутри этих столбцов из каждого файла csv. Один большой список.
Две проблемы:
- Некоторые из этих «имен» одни и те же, и я не хочу, чтобы дублировать их
- Некоторые из этих «имен» почти то же самое. Разница в том, что есть имя и после него становятся точкой и цифрой.
Позвольте мне показать вам, как это выглядит:
AT3G26450.1 <--
AT5G44520.2
AT4G24770.1
AT2G37220.2
AT3G02520.1
AT5G05270.1
AT1G32060.1
AT3G52380.1
AT2G43910.2
AT2G19760.1
AT3G26450.2 <--
<--
= же образец, разные имена. Следует рассматривать как один. Поэтому просто игнорируйте точку и число после.
Это можно сделать?
Я не мог сделать dput(head)
, потому что это даже слишком большой набор данных.
Этот код выглядит прекрасно, но проблема в том, что я не могу использовать rbind, потому что у меня есть различное количество столбцов/строк в каждом файле csv. Любое решение? – Rechlay
@Rechlay: если содержимое каждой таблицы представляет собой нечто подобное, вы должны их объединить. (Вы можете добавить фиктивные поля, чтобы совместить столбцы.) С другой стороны, если они представляют разные вещи, то, вероятно, лучше всего сохранить их в виде списка кадров данных. Вы можете использовать 'lapply' для перебора списка и обновления каждого фрейма данных. –