Имя строки представляет собой десятичное число - PullRequest
1 голос
/ 19 марта 2020

Я устанавливаю подмножество набора данных, и это приводит к кадру данных с именем строки, не совпадающим с целым числом. Не могли бы вы объяснить причину этого явления?

library(outbreaks)
df <- measles_hagelloch_1861[, 3, drop = FALSE]
df$disease <- 1
index <- sample(1:50, 50, replace = TRUE, prob = NULL)
syn_df <- df[index, ]

Результат:

enter image description here

1 Ответ

2 голосов
/ 19 марта 2020

Когда вы производите выборку с заменой, вы получаете дублированные имена строк (вы выбираете одну и ту же строку более одного раза). Имена строк должны быть уникальными, поэтому для их уникальности добавляется .1.

Простой пример, повторяющий первую строку набора данных iris.

iris[1, ]
#   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1          5.1         3.5          1.4         0.2  setosa

iris[c(1, 1), ]
#     Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1            5.1         3.5          1.4         0.2  setosa
# 1.1          5.1         3.5          1.4         0.2  setosa

iris[c(1, 1, 1),]
#     Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1            5.1         3.5          1.4         0.2  setosa
# 1.1          5.1         3.5          1.4         0.2  setosa
# 1.2          5.1         3.5          1.4         0.2  setosa

Как правило, я бы предложил против , полагаясь на имена строк для чего-либо ... если вы хотите отслеживать наблюдения, добавьте некоторый столбец идентификаторов.

...