NA проблема только при зацикливании, может ввести каждую команду в командном окне - PullRequest
0 голосов
/ 10 ноября 2019

Цель состоит в том, чтобы каждый из фреймов данных располагался горизонтально друг относительно друга, но фреймы данных не любят воспроизводиться с фреймами данных различной длины. В настоящее время проблема заключается в том, что датафрейм № 2 имеет NA сверху и не будет работать в цикле.

library(dplyr)
library(tidyverse)
SurveyResponses <- read.csv(file="image_diff_stimuli_manual_coding.csv")
v=nrow(SurveyResponses)
m <- matrix(SurveyResponses)
# Convert to Matrix ^
countgroups = factor(SurveyResponses$Image_ID)
groupmat = matrix(table(countgroups))
# Count number of responses per group ^
h = as.numeric(nrow(groupmat))
currentrow = 1
# Start at Row 1 ^
cols= matrix(nrow = 1,ncol = h)
cols[1,1] = tolower(SurveyResponses$Image_Name[currentrow])
cols[1,2] = "Freq"
answermatrix = matrix(nrow = groupmat[1],ncol = h*2)

for (i in 1:h){

  if (i < 2){
    groupanswers = factor(tolower(SurveyResponses$Answer[currentrow:groupmat[i]]))
  groupans <- data.frame(table(groupanswers))
  answermatrix[1:as.numeric(nrow(groupans)),1] = (as.character(groupans[,1]))
  answermatrix[1:as.numeric(nrow(groupans)),2] = (as.numeric(groupans[,2]))
  currentrow = currentrow + groupmat[i]
  }


  if (i > 1){
    k = as.numeric(2[i]+1)
    l = as.numeric(k+1)
    answermatrix[1:as.numeric(nrow(groupans)),c(k)] = (as.character(groupans[,1]))
    answermatrix[1:as.numeric(nrow(groupans)),c(l)] = (as.numeric(groupans[,2]))
    cols[1,c(k)] = "Freq"
    cols[1,c(l)] = tolower(SurveyResponses$Image_Name[currentrow])
    groupanswers = factor(tolower(SurveyResponses$Answer[currentrow:(currentrow+groupmat[i])]))
    groupans <- data.frame(table(groupanswers))
    currentrow = currentrow + groupmat[i]
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...