【问题标题】:Adding a column with consecutive numbers in R在R中添加具有连续数字的列
【发布时间】:2015-07-01 22:13:55
【问题描述】:

如果这个问题非常简单,我深表歉意,但我正在寻找一种方法来将一列连续整数添加到数据框中(例如,如果我的数据框有 200 个观察值,第一个从 1 开始观察,最后一个以 200 结尾)。

我该怎么做?

【问题讨论】:

    标签: r function dataframe


    【解决方案1】:

    对于数据框 (df),您可以使用

    df$observation <- 1:nrow(df) 
    

    但如果你有一个矩阵,你宁愿使用

    ma <- cbind(ma, "observation"=1:nrow(ma)) 
    

    因为使用第一个选项会将您的数据转换为列表。

    来源:http://r.789695.n4.nabble.com/adding-column-of-ordered-numbers-to-matrix-td2250454.html

    【讨论】:

      【解决方案2】:

      或使用dplyr

      library(dplyr)
      df %>% mutate(observation = 1:n())
      

      您可能希望它成为df 的第一列。

      df %>% mutate(observation = 1:n()) %>% select(observation, everything())
      

      【讨论】:

        【解决方案3】:

        如果您使用 tidyverse 生态系统,可能需要tibble::rowid_to_column 函数。

        library(tidyverse)
        dat <- tibble(x=c(10, 20, 30), 
                      y=c('alpha', 'beta', 'gamma'))
        dat %>% rowid_to_column(var='observation')
        
        # A tibble: 3 x 3
          observation     x y    
                <int> <dbl> <chr>
        1           1    10 alpha
        2           2    20 beta 
        3           3    30 gamma
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-02-28
          • 2016-09-10
          • 1970-01-01
          • 2022-06-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多