Я создал функцию для вызова функции для каждой строки в наборе данных. Я хотел бы иметь выход как вектор. Как вы можете видеть ниже, функция выводит результаты на экран, но я не могу понять, как перенаправить вывод на вектор, который я могу использовать вне функции.Результат функции вывода для вектора
n_markers <- nrow(data)
p_values <-rep(0, n_markers)
test_markers <- function()
{
for (i in 1:n_markers)
{
hets <- data[i, 2]
hom_1 <- data[i, 3]
hom_2 <- data[i, 4]
p_values[i] <- SNPHWE(hets, hom_1, hom_2)
}
return(p_values)
}
test_markers()
1. Вы должны получить привычку передавать аргументы функций, а не полагаться на глобальные (cf http://stackoverflow.com/questions/5526322/examples-of-the-perils-of-globals-in-r-and-stata). 2. Для этого уже есть функция. Посмотрите на 'apply (my.data, 1, ...)' –
'shinyNewVector <- test_markers()'. Прислушайтесь к советам gsk3. – Chase
Прочтите также базовое введение в R. Вам нужно переключить свой менталитет на мышление в векторах, а не на циклы. – Hansi