Странное имя переменной после подмножества набора данных - PullRequest
1 голос
/ 18 марта 2020

У меня есть датафрейм df в Rstudio. Я хочу извлечь столбец diff и удалить первую строку со следующим кодом:

# Import data and packages
library(outbreaks)
df <- measles_hagelloch_1861[order(measles_hagelloch_1861$date_of_prodrome), c(1, 3)]
library(lubridate)
library(plyr)

# Generate variable diff
df$diff <- difftime(lag(df$date_of_prodrome, 1), df$date_of_prodrome, units = "days" )

# Subset dataset
time_between_two_events <- as.data.frame(df[-1, 'diff'])
head(time_between_two_events)

и результат

  df[-1, "diff"]
1              2
2              6
3              0
4              1
5              3
6              0

Не могли бы вы объяснить, почему я получаю странное имя переменной как df[-1, "diff"]? Я ожидаю, что это должно быть diff.

1 Ответ

1 голос
/ 18 марта 2020

Поскольку подмножество имеет только один столбец, оно меняет информационный кадр на вектор.

df[-1, 'diff']
#Time differences in days
#[1]  -2  -6   0  -1  -3   0  -1  -1 .....

этот вектор затем преобразуется в data.frame со странным именем.

Используйте drop = FALSE, чтобы избежать приведения кадра данных к вектору.

df[-1, 'diff', drop = FALSE]

#       diff
#173  -2 days
#177  -6 days
#178   0 days
#174  -1 days
#45   -3 days
#183   0 days
#175  -1 days
#...
#...
...