Похоже, у меня было две ошибки. Во-первых, как указывалось, мой цикл for был неверным и не зацикливался на количестве символов, как хотелось бы. Заменив «for (i в длине строки)» на «for (i в seq_len (длина строки))» исправил это.
Во-вторых, строка «files <- c (files, filename [i])» заставляет цикл добавлять новые записи в уже существующие NA, вместо того, чтобы просто указывать нужный вектор имен файлов. Замена соответствующей индексацией с использованием «files [i] <- filename [i]» исправляет это. </p>
mystring <- "ABcd"
# count number of characters
stringlength <- nchar(mystring)
# find filename for image corresponding to symbol
filepath <- "/Users/mypath"
# initialize vectors
filename <- rep("NA", stringlength)
files <- rep("NA", stringlength)
symbol <- rep("NA", stringlength)
prefix <- "NA"
# create filename prefix from letters in mystring - caps are single and lowercase are double
for (i in seq_len(stringlength))
{
symbol[i] <- substring(mystring, i, i)
if (symbol[i] %in% letters) {
prefix <- paste(symbol[i], symbol[i], sep = "")
} else {
prefix <- symbol[i]
}
filename[i] <- paste(filepath, "/", prefix, ".txt", sep="")
files[i] <- filename[i]
}
files
1] "/Users/mypath/A.txt" "/Users/mypath/B.txt" "/Users/mypath/cc.txt" "/Users/mypath/dd.txt"