Это часть более короткой истории сценариев, входной сигнал для R - путь, разделенный точкой с запятой, в расположение моих текстовых файлов. Все текстовые файлы имеют следующий формат:Добавить столбцы в цикле for R
File1:
Name1 3
Name2 4
Name3 55
File2:
Name1 4
Name2 33
Name3 102
file3:
Name1 12
Name2 2
Name5 33
Вот пример:
cond1<-'/User/Desktop/File1;/User/Desktop/File2;/User/Desktop/File3'
#separates the elements
normalList<-strsplit(cond1, ";")
#now you can access each element
nor<-unlist(normalList)
baseNorm<-vector("list", length(nor))
dirNorm<-vector("list", length(nor))
pathNorm<-vector("list", length(nor))
Norm<-vector("list", length(nor))
new<-vector("list", length(nor))
for (i in 1:length(nor))
{
baseNorm[[i]] <- basename(nor[i])
dirNorm[[i]]<-dirname(nor[i])
pathNorm[[i]]<-paste(dirNorm[[i]], baseNorm[[i]], sep="/")
Norm[[i]]<-read.delim(pathNorm[[i]], header=F)
}
В примере здесь вход R содержит 3 файла, однако мне нужно, чтобы скрипт был достаточно гибким, чтобы он мог работать для любого количества переданных файлов, следовательно, попытка с циклом for. BIG IDEA: 1) Получить путь к определенному файлу для всех файлов. 2) Загрузите текстовые файлы в R 3) Создайте новый файл, содержащий общий первый столбец (Name1, Name2, Name3). Все последующие столбцы в этом новом файле соответствуют 2-й колонке File1, Файл2, file3, file4 и т.д. По существу, мне нужно создать мастер-файл:
Name1 3 4 55
Name2 4 33 102
Name3 12 2 33
Я уверен, что есть намного проще решение даже для кода, который у меня уже есть, поскольку со всеми [[]] я даже не знаю, как начать писать функцию, которая создает главный файл. Я только начал использовать R, поэтому любой вклад является ценным опытом обучения, и спасибо заранее!
'list.files' (см. Шаблон аргумента),' lapply' и 'do.call' являются ключевыми словами. –