在R中添加具有连续数字的列

Posted

技术标签:

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

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

我该怎么做?

【问题讨论】:

【参考方案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

【讨论】:

以上是关于在R中添加具有连续数字的列的主要内容,如果未能解决你的问题,请参考以下文章

在两个单独的列中折叠具有连续范围的行

具有重复连续数字的范围

excel如何检查一列数字是不是连续

如何为 where 子句中的列编写具有不连续值的 Cassandra 查询

excel如何检查一列数字是不是连续?

如何查找R中的数字是不是连续?