Я пытаюсь извлечь подмножество значений из фрейма данных, чтобы получить среднее значение подмножества, но я не могу понять, как это сделать.Подмножество значений из матрицы в R
Я попробовал этот
kg_name=cat(shQuote(k_categories[1,]), "\n")
m[1] = mean(subset(dt, dt[2]==kg_name)[,1])
Так категории ценностей, которые я должен извлечь в этом k_categories вектор. Это, например, один, два и три. В первой строке кода я добавляю кавычки к значениям, чтобы получить «один», «два», «три». Теперь вторая строка пытается вычислить среднее значение, извлекая значения двухкабельного кадра данных dt, который соответствует строке «один» во втором столбце.
Теперь все работает отлично, если я делаю это
m[1] = mean(subset(dt, dt[2]=="one")[,1])
Но если я извлекаю имя категории из k_categories я получаю эту ошибку (я поставил часть следа)
Error in matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr, :
length of 'dimnames' [2] not equal to array extent
8 matrix(unlist(value, recursive = FALSE, use.names = FALSE), nrow = nr,
dimnames = list(rn, cn))
7 Ops.data.frame(dt[2], kg_name)
6 eval(expr, envir, enclos)
5 eval(e, x, parent.frame())
4 subset.data.frame(dt, dt[2] == kg_name)
3 subset(dt, dt[2] == kg_name)
Edit (добавить дт пример кадра данных)
Values Categories
1 one
3 two
2 three
4 one
3 two
2 two
Можете ли вы привести пример типа матрицы, которую вы имеете, и подмножества, для которых вы хотите вычислить сводную статистику? – Jthorpe
Готово. Я сделал отпечаток головки матрицы – Atirag