R применяется с несколькими параметрами

У меня есть функция f(var1, var2) в R. Предположим, что мы устанавливаем var2 = 1 и теперь я хочу применить функцию f() к списку L В принципе, я хочу получить новый список L * с выходами

 [f(L[1],1),f(L[2],1),...,f(L[n],1)] 

Как мне это сделать с помощью apply , mapply или lapply ?

Просто передайте var2 в качестве дополнительного аргумента одной из применяемых функций.

 mylist <- list(a=1,b=2,c=3) myfxn <- function(var1,var2){ var1*var2 } var2 <- 2 sapply(mylist,myfxn,var2=var2) 

Это передает тот же var2 для каждого вызова myfxn . Если вместо этого вы хотите, чтобы каждый вызов myfxn получал myfxn / и т.д. элемент как mylist и var2 , то вы находитесь в mapply .

Если ваша функция имеет две векторные переменные и должна вычисляться при каждом их значении (как упоминается @Ari B. Friedman), вы можете использовать mapply следующим образом:

 vars1<-c(1,2,3) vars2<-c(10,20,30) mult_one<-function(var1,var2) { var1*var2 } mapply(mult_one,vars1,vars2) 

который дает вам:

 > mapply(mult_one,vars1,vars2) [1] 10 40 90 

Я использовал RODBC для подключения к схеме Oracle XE hr. Мне нужна была функция, которая могла бы вернуть количество записей в таблице. Так…

 function(rodbcConnection, schemaName, tableName){ results <- sqlQuery(rodbcConnection, paste("SELECT * FROM ", schemaName, ".", tableName)) return(dim(results)[1]) } 

Но как применить это к вектору имен таблиц? Вот как.

 > x <- sapply(hrTableNames, noOfRecords, rodbcConnection=connection, schemaName="hr") 

Поскольку sapply выполняет свою работу, применяя функцию noOfRecords к каждой строке hrTableNames, R заменяет отсутствующий параметр tableName текущим итеративным значением hrTableNames.

В заключение.

 > barplot(t(x), las=2) 
  • Получение OVER QUERY LIMIT после одного запроса с геокодом
  • Почему используется `<< -` нахмурился и как я могу его избежать?
  • Найти ближайшее значение в векторе с бинарным поиском
  • Измените class с коэффициента на числовое число столбцов в кадре данных
  • Отменить список фреймов данных
  • Добавить переменную в кадр данных, содержащий максимальное значение каждой строки
  • Добавить столбец с порядковым числом
  • Открытие всех файлов в папке и применение функции
  • Тест anova терпит неудачу на lme fits, созданный с помощью вставленной формулы
  • Максимальная длина для вектора в R
  • Добавление нового столбца к каждому элементу в списке таблиц или фреймов данных
  • Interesting Posts

    Android: использует setContentView несколько раз плохо при изменении раскладок?

    Как получить текущее название маршрута?

    Почему я получаю «нестатистическую переменную, на которую нельзя ссылаться из статического контекста»?

    Как подключить / отключить Bluetooth и привязку к Snow Leopard

    Захват большого скриншота веб-страницы в Chrome

    Java / Swing: низкопрофильная высота кнопки?

    Формула Excel для сравнения одного значения в одной ячейке с несколькими значениями в другой ячейке

    Как отправить java.util.logging в log4j?

    (Как) Изменить обратно на Win + N ярлык в OneNote 2013, чтобы создать новую Quick Note?

    Выполнение задачи в фоновом режиме в приложении WPF

    API Карт Google v2 нарисовать часть круга на MapFragment

    Как OSX должен работать без мыши?

    Форматировать шрифты для текстовых полей Значения по умолчанию

    Резервное копирование и восстановление Windows 10 Пуск меню, заменяющий vedatamodel.edb: никаких эффектов?

    Отключить определенные даты из html5 datepicker

    Давайте будем гением компьютера.