如何在数据框中添加具有基于数据长度的值的列,如字符串

时间:2017-06-30 06:41:52

标签: r dplyr

我有这个例子


head(iris)
#>   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
#> 1          5.1         3.5          1.4         0.2  setosa
#> 2          4.9         3.0          1.4         0.2  setosa
#> 3          4.7         3.2          1.3         0.2  setosa
#> 4          4.6         3.1          1.5         0.2  setosa
#> 5          5.0         3.6          1.4         0.2  setosa
#> 6          5.4         3.9          1.7         0.4  setosa
dim(iris)
#> [1] 150   5

虹膜数据有150行。我想要做的是添加新列(Observations), 导致

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species Observations
          5.1         3.5          1.4         0.2  setosa  Obs_1
          4.9         3.0          1.4         0.2  setosa  Obs_2
          4.7         3.2          1.3         0.2  setosa  Obs_3
          4.6         3.1          1.5         0.2  setosa  Obs_4
          5.0         3.6          1.4         0.2  setosa  Obs_5
          5.4         3.9          1.7         0.4  setosa  Obs_6
   ....etc...

我该怎么做?

1 个答案:

答案 0 :(得分:1)

我们可以使用paste

iris$Observation <- paste0("Obs_", seq_len(nrow(iris)))

如果我们使用tidyverse,则有row_number()函数

library(dplyr)
iris %>%
     mutate(Observation = paste0("Obs_", row_number()))