J'ai besoin de vérifier les résultats de test de 50 étudiants différents par rapport à une clé de réponse en mode multi-choix A, B, C, D.Comment puis-je comparer deux jeux de données élément par élément dans R?
J'ai une donnée à une dimension définie pour la clé de réponse, « réponses » que je lis dans comme answers <- read.table("A1_Ans_only.txt", header = FALSE, sep = ",")
Je l'ensemble de données « résultats » qui contient toutes les réponses pour tous 50 étudiants. Je l'ai lu en tant que results <- read.csv("Form A1_only.csv", header = FALSE)
Alors, quand je tente quelque chose comme results==answers
ou `évaluer (résultats, réponses) « avec l'évaluation étant une fonction que j'ai écrit défini comme » évaluer < - fonction (x, y) {x == y} 'J'obtiens toutes sortes d'erreurs comme "des trames de données de longueur non égale" ou pas des vecteurs de même niveau quand je les sous-ensembles pour être unidimensionnels. Est-ce que quelqu'un peut m'aider à évaluer chaque élément de la base de données des résultats pour décider quelles questions chaque étudiant a eu raison?
This is a small sample of results:
structure(list(V1 = c(1L, 3L, 5L), V2 = c(NA, NA, NA), V3 = structure(c(2L,
1L, 4L), .Label = c("A", "B", "C", "D"), class = "factor"), V4 = structure(c(1L,
1L, 1L), .Label = c("A", "B", "C", "D"), class = "factor"), V5 = structure(c(2L,
2L, 3L), .Label = c("A", "B", "C", "D"), class = "factor"), V6 = structure(c(1L,
1L, 1L), .Label = c("A", "B", "C"), class = "factor"), V7 = structure(c(1L,
1L, 1L), .Label = c("A", "C", "D"), class = "factor"), V8 = structure(c(2L,
1L, 2L), .Label = c("A", "B", "D"), class = "factor"), V9 = structure(c(1L,
1L, 1L), .Label = c("A", "C", "D"), class = "factor"), V10 = structure(c(2L,
2L, 1L), .Label = c("A", "B", "C"), class = "factor")), .Names = c("V1",
"V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10"), row.names = c(NA,
3L), class = "data.frame")
This is the sample from answers:
structure(list(V1 = structure(1L, .Label = "AAAAKEY", class = "factor"),
V2 = NA, V3 = structure(1L, .Label = "C", class = "factor"),
V4 = structure(1L, .Label = "A", class = "factor"), V5 = structure(1L, .Label = "C", class = "factor"),
V6 = structure(1L, .Label = "A", class = "factor"), V7 = structure(1L, .Label = "A", class = "factor"),
V8 = structure(1L, .Label = "B", class = "factor"), V9 = structure(1L, .Label = "A", class = "factor"),
V10 = structure(1L, .Label = "B", class = "factor")), .Names = c("V1",
"V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10"), class = "data.frame", row.names = c(NA,
-1L))
Donc ce que je suis arrivé de c'était une impression très long avec toutes les observations retourné comme « FAUX » Qu'est-ce qui se passe exactement Là? –
@ Mr.T Renvoie un vecteur. Quelle est exactement votre sortie attendue? Ici, chaque colonne de 'réponses' est répliquée de manière à obtenir le même nombre d'observations dans chaque colonne de 'résultats' et ensuite faire la comparaison entre les deux éléments – akrun
J'espère avoir un moyen de montrer quelles réponses des étudiants sont "VRAI" ou "FAUX" mais cela montre que chaque entrée est "FAUX". Ce n'est pas exact. Comment puis-je contourner cela? –