Ошибка при попытке вставить данные в пустой фрейм данных - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть три столбца из трех разных файлов.Я хочу объединить эти три столбца в новый фрейм данных.Чтобы сделать это, я сделал следующее:

  df1 <- read.csv("location of file1")
  df2 <- read.csv("location of file2")
  df3 <- read.csv("location of file3")
  dataset <- data.frame(B1_1=integer(), B1_2=integer(), B1_3=integer(), stringsAsFactors=FALSE)
  dataset$B1_1 <- df1$Rate
  dataset$B1_2 <- df2$Price
  dataset$B1_3 <- df3$Code

Полученная ошибка:

Error in `$<-.data.frame`(`*tmp*`, B1_1, value = c(5L, 7L, 9L, 11L, 13L,  : 
  replacement has 10 rows, data has 0 

Я проверил, что каждый из df1$Rate, df2$Price и df3$Codeимеет данные, другими словами, они не пусты.Кроме того, я также проверил тип данных этих столбцов и всех трех столбцов целочисленного типа.

Как я могу решить это?

1 Ответ

0 голосов
/ 16 февраля 2019

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

# an example data frame with 2 columns and 0 rows
dat <- data.frame(a = integer(), b = integer())

# a vector of values that should be added to column "a"
vec <- 1:3

# create a data frame with the correct number of rows and add the values to the column
dat[seq_along(vec), ]$a <- vec

#      a  b
# NA   1 NA
# NA.1 2 NA
# NA.2 3 NA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...