2015-02-19 3 views
-1

Я чувствую, что это должно быть легко, но я в недоумении.Многочисленные средства столбца по имени в R

У меня есть матрица с несколькими морфометрическими заголовками. Их много, поэтому я назначил имена вместо вызова столбца по номеру. Я хочу получить средства из нескольких столбцов в одной строке.

  1. можно получить по одному за раз (и я получить значение, то же самое для VTL и некоторые другие элементы, которые я имею)

    mean(mydata[,"STL"],na.rm=TRUE)

  2. Я также могу получить несколько стороны векторов на стороне :

    mydata[,c("STL","VTL")]

Но когда я ставлю (2) в (1) я получаю:

"Warning message: 
    In mean.default(mydata[, c("SVL", "VTL")], na.rm = TRUE) : 
     argument is not numeric or logical: returning NA" 

Что здесь происходит? Есть ли способ вернуть сразу несколько значений?

+0

Try 'colMeans' вместо' mean' –

+0

Это не будет работать, как у меня есть некоторые столбцы, которые не численная, думаю, я мог бы просто разобрать их, если я не могу понять этот другой путь. –

+0

Если вам не все равно о предупреждениях, вы можете также векторизовать это, как в 'colMeans (df^1)' –

ответ

1

Выберите числовые столбцы и используйте colMeans?

d=data.frame(a=1:10,b=letters[1:10],c=1:10) 
nums <- sapply(d, is.numeric) 
colMeans(d[ , nums]) 
+2

Это смешно, потому что я просто писал этот ответ и отвлекся, даже примерные данные были одинаковыми :) –

+0

Очень признателен! Просто нужно было исключить НС, и это получилось идеально. –

Смежные вопросы