Таким образом, мои данные выглядят так:
id first middle last Age
1 Carol Jenny Smith 15
2 Sarah Carol Roberts 20
3 Josh David Richardson 22
У меня есть функция, которая создает новый столбец, который сообщает вам, сколько раз было найдено имя для каждой строки в предыдущих столбцах, которые я указал (2-4-йстолбцы или «первые»: «последние» столбцы).У меня есть функция, которая выводит результат ниже:
funname <- function(df, cols, value, newcolunmn) {
df$newcolumn <- as.integer(rowSums(df[cols] == value) > 0)
}
id first middle last Age Carol
1 Carol Jenny Smith 15 1
2 Sarah Carol Roberts 20 1
3 Josh David Richardson 22 0
Но мои реальные данные более сложны, и я хочу создать как минимум 20 новых, разных столбцов (например: Кэрол, Роберт, Дженни,Анна, Ричард, Даниэль, Эрик ...) Так как я могу включить несколько новых столбцов в существующую функцию?Я могу думать только о добавлении функции (df, cols, value, newcolumn1, newcolumn2, newcolumn3, ...,), но это было бы невозможно, если бы я хотел, как сто столбцов позже, ... любая помощь?заранее спасибо!:)
РЕДАКТИРОВАТЬ:
function(df, cols, value, newcol) {
df$newcol <- as.integer(rowSums(df[cols] == value) > 0)
df
}
Я прочитал комментарии ниже ... но позвольте мне изменить свой вопрос .. Как бы я отобразить эту функцию, чтобы я мог генерировать несколько столбцов с новыми именамичто я хочу назначить? ..