Я пытаюсь добавить текст к имени файла в R, используя цикл for, но это не работает. Имена файлов имеют имена от 001 до 100, и я хочу прочитать файлы в R.
Как таковой, я должен добавить «00» к файлам, которые имеют номер имени ниже 10 (например, файлы с 001 по 009), и «0» к файлам в диапазоне 10-100 (например, файлы 010 до 099), поскольку вход в функцию представляет собой диапазон номеров, например файлы 15:70. В противном случае файлы не могут быть прочитаны в R.
Я пытался создать цикл for, используя операторы if в сочетании с функцией вставки, чтобы добавить "00" к именам файлов, но цикл for не выводит правильный новый список элементов:
например. когда я ввожу в функцию файлы 1: 100, я хочу, чтобы цикл for создавал новую переменную с «правильными» именами файлов от 001 до 100 (с правильным количеством «00», добавленным впереди, как это имена файлов каталогов).
convert <- function(id) {
for (i in length(id)) {
if (id[i] > 0 && id[i]<= 10) {
id[i] <- paste("00", id[i], sep="");
}
}
print(id); ## prints "10" (?)
}
Поэтому, когда я хочу преобразовать вектор 1:10 или «1, 2, 3, 4 и т. Д.» В «001, 002, 003, 004 и т. Д.», Я хочу сделать это, используя это для петли. Однако выход этой функции составляет всего «10». Таким образом, кажется, что он только переносит последний элемент входного вектора в конец функции.
Может кто-нибудь объяснить, что происходит не так? Заранее спасибо.