Я не могу на всю жизнь выяснить, где простая ошибка в моем цикле for для выполнения тех же анализов по нескольким кадрам данных и выводам каждый новый кадр итерации, используя переменную, используемую вместе с дополнительной строкой для идентификации нового фрейма данных.Для перебора списка кадров данных и создания новых фреймов данных из каждой итерации с использованием имени переменной
Вот мой код:
john
и jane
2 кадры данных среди многих я надеюсь перебрать и сравните bcm
найти одинаковые результаты в строках.
x <- list(john,jane)
for (i in x) {
test <- rbind(bcm,i)
test$dups <- duplicated(test$Full.Name,fromLast=T)
test$dups2 <- duplicated(test$Full.Name)
test <- test[which(test$dups==T | test$dups2==T),]
newname <- paste("dupl",i,sep=".")
assign(newname, test)
}
До сих пор, я могу либо получить называние корректно работать без включения данных x
или цикл, чтобы правильно завершить, не называя новые кадры данных правильно.
Предназначенный Результат: Я надеюсь создать новые кадры данных dupl.john
и dupl.jane
, чтобы показать, какие строки дублируются по сравнению с bcm
.
Я понимаю, что lapply()
может быть лучше использовать, и я очень открыт для этой формы решения. Я не мог понять, как использовать его для решения моей проблемы, поэтому я обратился к более знакомому для цикла.
EDIT:
Извините, если я не быть более ясным. У меня около 13 кадров данных, что я хочу выполнить один и тот же анализ, чтобы найти повторяющиеся строки в $Full.Name
. Я мог бы сделать первые 4 строки моего цикла, а затем dupl.john <- test
13 раз (для каждого кадра данных), но я намеренно пытаюсь написать цикл for или lapply()
, чтобы получить больше знаний в R и потому что я уверен, что он более эффективен ,
Попробуйте 'test <- rbind (bcm, get (i))'. Действительно, некоторые 'lapply', возможно, удобны. –