首页 > 解决方案 > 创建一个变量并按值填充,其名称与R中数据集的名称相同

问题描述

我有任何数据。假设这个

    Travelfusion_7=structure(list(ds = c("2020-08-31T00:00:00Z", "2020-08-31T00:00:00Z", 
"2020-08-31T00:00:00Z"), trend = c("4736.16577882505", "4736.16577882505", 
"4736.16577882505"), yhat_lower = c("-13755.1981749027", "-11887.7739934717", 
"-14503.9964570117"), yhat_upper = c("20587.349757926", "23317.5389471031", 
"23374.2910099045"), trend_lower = c("4736.16577882505", "4736.16577882505", 
"4736.16577882505"), trend_upper = c("4736.16577882505", "4736.16577882505", 
"4736.16577882505"), yhat = c("4736.16577882505", "4736.16577882505", 
"4736.16577882505")), class = "data.frame", row.names = c(NA, 
-3L))

这里有 6 个变量

ds
trend
yhat_lower
yhat_upper
trend_lower
trend_upper

如何创建一个由值调用"suppl"并填充的变量,其名称与数据集的名称相同这里的数据集称为"Travelfusion_7"so"suppl"变量必须包含该值

所以要更清楚的输出必须是。

           suppl                   ds            trend
1 Travelfusion_7 2020-08-31T00:00:00Z 4736.16577882505
2 Travelfusion_7 2020-08-31T00:00:00Z 4736.16577882505
3 Travelfusion_7 2020-08-31T00:00:00Z 4736.16577882505
         yhat_lower       yhat_upper      trend_lower
1 -13755.1981749027  20587.349757926 4736.16577882505
2 -11887.7739934717 23317.5389471031 4736.16577882505
3 -14503.9964570117 23374.2910099045 4736.16577882505
       trend_upper             yhat
1 4736.16577882505 4736.16577882505
2 4736.16577882505 4736.16577882505
3 4736.16577882505 4736.16577882505

标签: rdplyr

解决方案


你可以尝试这样的事情:

library(magrittr)

origin <- tibble::tibble(A = 1:10)

origin %>% 
  dplyr::mutate(df_name = deparse(substitute(origin)))
#> # A tibble: 10 x 2
#>        A df_name
#>    <int> <chr>  
#>  1     1 origin 
#>  2     2 origin 
#>  3     3 origin 
#>  4     4 origin 
#>  5     5 origin 
#>  6     6 origin 
#>  7     7 origin 
#>  8     8 origin 
#>  9     9 origin 
#> 10    10 origin

reprex 包(v0.3.0)于 2020 年 11 月 17 日创建


推荐阅读