add_column不向数据框添加列

时间:2018-02-12 19:57:58

标签: r dataframe tibble

我在我的脚本中使用了add_column中的library(tibble)函数,它在控制台中显示正常,但在实际数据框df中,它没有显示我实际上添加了任何列。我的数据框的当前结构是60 x 17,但是当我完成下面显示的代码添加时,它最终会是60 x 19,但是当我使用下面的代码时,它不会给我任何错误,它仍然没有显示添加的列。

add_column(df, 'Reading Depth'= extractdepth , .after = 1)
add_column(df, 'Half Depth'= halfdepth , .after = 2) 

有关如何将我的新列添加到数据框中的任何想法吗?

1 个答案:

答案 0 :(得分:2)

as Nathan points out above;您需要更新对象或创建新对象。

在你开始之前,你应该总是!,首先加载所需的包,

# install.packages(c("tidyverse"), dependencies = TRUE)
library(tidyverse)

第二,也总是创建一些日期,这里的灵感来自?add_column

df <- tibble(x = 1:3, y = 3:1)

第三,几乎总是,显示数据,

df
#> # A tibble: 3 x 2
#>       x     y
#>   <int> <int>
#> 1     1     3
#> 2     2     2
#> 3     3     1

太棒了!现在来一些解决方案。

解决方案一,我们创建一个新对象的选项,

df_new <- df %>% add_column(z = 1:3, w = 0)
df_new
#> # A tibble: 3 x 4
#>       x     y     z     w
#>   <int> <int> <int> <dbl>
#> 1     1     3     1     0
#> 2     2     2     2     0
#> 3     3     1     3     0

解决方案二,df更新的解决方案

df <- df %>% add_column(z = -1:1, w = 0)
df
#> # A tibble: 3 x 4
#>       x     y     z     w
#>   <int> <int> <int> <dbl>
#> 1     1     3    -1     0
#> 2     2     2     0     0
#> 3     3     1     1     0

请注意,<-用于写入或创建新对象 - as Nathan's comment pointed out