Один год - год рождения, другой - сезон года; Цель состоит в том, чтобы рассчитать возраст (в годах) в течение определенного сезона. Я хочу взять эту информацию и создать новое поле (master$playerAge
) в объединенном наборе данных. Я получаю незнакомую ошибку и не уверен, что вызывает. Я подтвердил, что и merged.all$yearID
, и merged.all$birthYear
существуют в merged.all
. Любая помощь приветствуется.Рассчитать разницу за 2 года
Фрагмент кода:
## calculate age from birthYear and YearId
master$playerAge <- paste(merged.all$yearId - merged.all$birthYear)
Error:
Error in `[<-.data.table`(x, j = name, value = value) :
RHS of assignment to new column 'playerAge' is zero length
but not empty list(). For new columns the RHS must either be
empty list() to create an empty list column, or, have length > 0;
e.g. NA_integer_, 0L, etc.
dput():
Names = с ("playerID", "yearID", "TeamID", "lgID", "ограничение", "G", «AB», «R», «SO», «IBB», «HBP», «SH», «SF», «GIDP», «зарплата», «birthYear», «birthMonth», «BirthDay», «birthCountry» «deathState», «deathCity», «nameFirst», «nameLast», «nameGiven», «weight», «nameGiven», «deathCity», «deathGear», «deathMoyth», «deathDay», «deathCountry», «height», «bats», «throws», «debut», «finalGame», «retroID», «bbrefID», «name», «dob»), sorted = «playerID», class = c («data. table "," data.frame "), row.names = c (NA, -6L), .internal. selfref =)> -
Я не знаю, почему вы используете функцию paste(). Если «yearID» и «birthYear» имеют тип POSIXct, тогда вы можете просто вычесть их, нет необходимости в paste(). – Michael
@ Michael - спасибо за подсказку. Я удалил. –
И вы должны отредактировать свой 'dput' в свой вопрос, это ужасно, как комментарий. – Gregor