присвоение значения матрице, не работающей в r - PullRequest
0 голосов
/ 06 декабря 2018

Давайте предположим, что у меня есть «сценарии знакомства» от 5 человек, которые состоят из 20-25 предметов каждый.У меня все эти предметы сложены в один столбец.Что мне нужно сделать, это создать еще один столбец, который содержит номер позиции, в которой находился элемент (1-25) в списке соответствующего лица.Я написал функцию для этого, но что-то идет не так.Используя print(), я знаю, что все работает вплоть до хранения позиций предметов.Ниже приведена воспроизводимая версия моего кода.Пожалуйста, дайте мне знать, если вы знаете, где я ошибся.

script_length <- data.frame(matrix(20:25, nrow = 5, ncol = 1)
managed_data <- data.frame(matrix(1, nrow = 5, ncol = 1))

parts_before <- 0
rows_before <- 0
include_freq <- 0

 rowsb4 <- function(participant) {

      parts_before <- participant - 1

      if(parts_before == 0) {
        rows_before <- 0
      }

      if(parts_before != 0) {
        for(i in 1:parts_before) {
          rows_before <- rows_before + script_length[i,1]
        }
      }
      rows_before <- rows_before
      return(rows_before)        
    }


count_to_20_smth <- function(participant) {

  rows_before <- rowsb4(participant)
  include_freq <- script_length[participant,1]

  for(i in 1:include_freq) {
    managed_data[(rows_before + i), 1] <- i
  }

  return(managed_data)
}



    item_placement <- function(participant) {

      parts_before <- 0
      rows_before <- 0
      include_freq <- 0

      for(participant in 1:nrow(script_length)){

        parts_before <- participant - 1
        include_freq <- script_length[participant,2]

        # base case for if doing first participant
        if(parts_before == 0) {

          for(i in 1:include_freq) {
            managed_data[i,1] <- i
          }

        }

        if(parts_before != 0) {
          count_to_20_smth(participant)
        }
      }   
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...