Как мне указать столбец при настройке в функции? - PullRequest
0 голосов
/ 28 ноября 2018
#create a list of data I want to take the grand mean of
A2 <- c(A2_M_fish1, A2_A_fish2, A2_M_fish3, A2_A_fish4)

#create an empty vector to put the grandmeans in
A2_values <- numeric(4)

#make a function to pull out the four last values and get the means
datamean <- function(x)
   {
     y <- subset(x, Loop>=7 & Loop<=10, select=c(MO2))
   mean(y$MO2)
   }

Итак, в предыдущей функции я ссылаюсь на «Цикл», который является именем столбца в каждом из фреймов данных, которые я буду использовать в своем цикле.Я не знаю, как указать этот столбец в цикле, потому что, когда я запускаю его, как показано, он говорит мне:

 Error in subset.default(x, Loop >= 7 & Loop <= 10, select = c(MO2)) : 
  object 'Loop' not found 

Но когда я запускаю его так:

datamean <- function(x)
   {
     y <- subset(x, x$Loop>=7 & x$Loop<=10, select=c(MO2))
   mean(y$MO2)
}

Это просто дает мне эту ошибку:

Error: $ operator is invalid for atomic vectors

1 Ответ

0 голосов
/ 28 ноября 2018

Вам нужно использовать y[, "MO2"] в циклах, а не $, например:

 datamean <- function(x)
 {
   y <- subset(x, x[ , "Loop"]>=7 & x[ , "Loop"]<=10, select=c("MO2"))
   mean(y[ , "MO2"])
 }

Дайте мне знать, если проблема не исчезла

...