Функция psych description () со встроенным вектором возвращает ошибку в Var - PullRequest
0 голосов
/ 02 июля 2019

Я хотел бы использовать describe() передаваемые векторы, которые встроены в другие векторы, чтобы я мог использовать функцию в цикле for.У меня есть следующие данные, которые содержат оценки для группы студентов.Я хотел бы получить описательную статистику для 5 различных групп, в которые отсортированы 130 учащихся, поэтому я создаю одно подмножество для каждой группы.

pr3 <- read.csv("data.csv", head = T, sep = ";")

G1A <- subset(pr3, group == "1A")
G1B<- subset(pr3, group == "1B")


Теперь вызов describe() выглядит следующим образом:

describe(G1A)

Однако сгруппировать подмножества в вектор names и передать индекс от names до describe() не получится:

names <- c(G1A, G1B)
describe(names[1])

Error in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm = na.rm) : 
  is.atomic(x) is not TRUE
In addition: Warning message:
In mean.default(x, na.rm = na.rm) :
  argument is not numeric or logical: returning NA
>

Как я могу заставить это работать?

1 Ответ

1 голос
/ 02 июля 2019

Вы не можете поместить свои подмножества / фреймы данных в вектор и вызывать их таким образом.

Если вы позвоните str(names[1]), чтобы увидеть структуру вашего вектора, вы поймете, почему он не 't работа.

Вместо этого вы можете разместить два фрейма данных в списке, чтобы вызвать их со второй строкой.Как это:

names <- list(G1A, G1B)
describe(names[1])
...