Если у меня есть списокВозьмите два значения в качестве входных данных в списке R
sample <- list(a = c(1:5), b = c(11:15))
Я хотел бы написать функцию вроде следующего
res <- lapply(sample, function(x) { sample$a + sample$b * 5})
и результат будет просто
[1] 56 62 68 74 80
Я знаю, что это может быть достигнуто простым sample$a + sample$b*5
, но у меня есть сложные вычисления, которые не попадают в него.
Я не совсем уверен, что вы пытаясь выполнить здесь. Вы даете только функцию, в которой вы сами признаете, что ее можно переписать проще, но имеют более сложные вычисления, которые не попадают в это. Так каким образом они не попадают в это? Может быть, станет понятнее, если вы объясните, почему вы хотите использовать 'lapply' здесь. Edit: Кроме того, имя 'sample' сначала немного запутывалось, так как' sample' является очень часто используемой функцией в R. Вы можете переключиться на нечто вроде 'lis'. – Laterow
'sample $ a + sample $ b * 5' не дает результата, о котором вы сообщали. Голосование закрывается, как непонятно, что вы просите. – nicola
Извините, я несерьезна –