Добавление строки во фрейм данных с конкретным числовым именем в R - PullRequest
1 голос
/ 03 мая 2019

Чтобы добавить строку во фрейм данных, я могу сделать это, как в следующем примере:

> result <- rbind(baskets.df, c(7, 4))
> result
  Granny Geraldine
1st   12     5
2nd   4     4
3rd   5     2
4th   6     4
5th   9    12
6th   3     9
7    7     4

Если далее, я хочу поставить новую строку (числовое) имя, например, 2005, я быdo

> result <- rbind(baskets.df, "2005" = c(7, 4))
> result
  Granny Geraldine
1st   12     5
2nd   4     4
3rd   5     2
4th   6     4
5th   9    12
6th   3     9
2005    7     4

Но если я сохранил 2005 в переменной,

> syear <- 2005

и я хочу, чтобы новое имя (2005 в данном случае) зависело от назначенного номерана syear, как мне это сделать?

Если я сделаю то, что мне кажется наиболее естественным вариантом

> result <- rbind(baskets.df, as.character(syear) = c(7, 4))

Я получу ошибку Error: unexpected '=' in "rbind(baskets.df, as.character(syear) =".

Если я попытаюсь

> result <- rbind(baskets.df, syear = c(7, 4))

, полученное имя будет не 2005, а syear.

Что вы мне предложите?

Спасибо!

1 Ответ

1 голос
/ 03 мая 2019

Мы можем сделать назначение

result[as.character(syear),] <- c(7, 4)

данные

result <- structure(list(Granny = c(12L, 4L, 5L, 6L, 9L, 3L, 7L), Geraldine = c(5L, 
 4L, 2L, 4L, 12L, 9L, 4L)), class = "data.frame", row.names = c("1st", 
 "2nd", "3rd", "4th", "5th", "6th", "7"))
...