Извините, это, вероятно, дубликат, но у меня плохое время с функцией apply. Я хотел бы применить функцию к каждой строке набора данных, где функция будет выполнять операцию между двумя строками. Пример:R: Применить функцию к каждой строке данных, содержащей строки
(представьте себе dataframe с двумя colums: t1 & t2) «это», «это тест» «моя голова взорвется», «я люблю свою голову»
У меня есть функция, которая принимает две строки и возвращает количество слов в общем что-то вроде: (! Обратите внимание, я не вставил функцию я просто быстро напечатал это, чтобы дать вам indea так синтаксис может быть неправильным)
commonwords <- function(s1,s2) {
return (length(intersect(strsplit(s1,split=" ")[[1]],strsplit(s2,split=" ")[[1]])))
}
Мне просто нужен способ применить эту функцию к каждой строке кадра данных, возвращая новый столбец с общим количеством слов. Затем это можно расширить до любых других операций между двумя строками.
Большое спасибо за помощь, я думаю, что это будет быстро :)
Луис.
Вы можете проверить 'apply' Для цикла по строкам, MARGIN = 1 используется. т. е. используя вашу функцию 'apply (df1, 1, function (x) commonwords (x [1], x [2]))' – akrun
Спасибо, мне не хватало синтаксиса о том, как передать параметры пользовательской функции. – user3635284