2013-02-25 3 views
0

У меня есть набор кадров данных, каждый с разными именами столбцов, например. frameOne выглядитНайти среднее и стандартное отклонение всех значений в кадре данных

Q2 Q6 Q9 
1 1 0 0 
2 0 1 1 
... 
N 1 1 0 

и frameTwo является

Q1 Q5 Q9 Q22 
1 1 1 0 1 
2 1 0 1 0 
... 
N 1 1 1 0 

Как рассчитать среднее значение и стандартное отклонение всего кадра без явного указания имен столбцов?

+0

Названия столбцов или объектов? –

+0

Ваши данные бинарные? Имеет ли смысл иметь какой-либо смысл для этого? – Rcoster

+0

Да, это имеет смысл. Это правильные/неправильные ответы на вопросы, поэтому среднее дает общую способность отвечать на это подмножество вопросов. – bountiful

ответ

3

Основываясь на вашем ответе, я предполагаю, что вы после этого.

df1 <- as.data.frame(matrix(runif(9), ncol = 3)) 
df2 <- as.data.frame(matrix(runif(9), ncol = 3)) 
df3 <- as.data.frame(matrix(runif(9), ncol = 3)) 
df4 <- as.data.frame(matrix(runif(9), ncol = 3)) 

my.objs <- ls(pattern = "df") 

sapply(my.objs, FUN = function(x) { 
    st <- as.vector(as.matrix(get(x))) 
    data.frame(mean = mean(st), sd = sd(st)) 
}) 

    df1  df2  df3  df4  
mean 0.4967452 0.4426861 0.5198141 0.3460732 
sd 0.2533854 0.2179547 0.3106693 0.3179838 
+0

Это не совсем так, как в вашем примере 'dfx' являются матрицами, а не фреймами данных:' str (df1): num [1: 3, 1: 3] 0.2384 0.733 0.0262 0.9102 0.5883 ... '. Если я использую 'data.matrix()' вместо 'get()', это работает. – bountiful

+0

@fophillips Что теперь? –

+0

Отлично, спасибо! – bountiful