Если я правильно понимаю ваш код, вы хотите заменить значения в столбце 1 транзакций их новыми значениями.
Поскольку вы использовали header = FALSE, я предполагаю, что имя столбца 1 - V1. В этом случае вам не нужен ни цикл, ни lapply (), поскольку операция может быть векторизована так:
transactions$V1 <- paste(sort(unlist(strsplit(transactions$V1, ","))),
collapse = ",")
РЕДАКТИРОВАТЬ: Я понятия не имею, работает ли вставка / сортировка / unlist / strsplit, так как я не вижу исходные данные. Я хочу сказать, что вам не нужны циклы или применение для преобразования столбца фрейма данных.
РЕДАКТИРОВАТЬ: ОК, я понимаю, что код должен делать сейчас, и да, выше не будет работать из-за unlist (). Но я уверен, что есть векторизованное решение ... будет редактировать, если я найду его.
РЕДАКТИРОВАТЬ: Справа: лучшее, что я могу придумать, это двойное саппли (). Один для разделения и сортировки транзакций $ V1, другой для вставки его вместе. Это ужасно. Вот оно:
transactions$V1 <- sapply(sapply(strsplit(transactions$V1, ","), sort),
function(x) paste(x, collapse = ","))