小编Rua*_*tel的帖子

为什么在 dplyr 中使用 mutate + across 时“scale”会创建末尾带有“[,1]”的列?

请参阅下面的代码。

\n

mutate(across(everything(), scale, .names = "{.col}_z"))语法的一部分是生成末尾[,1]附加的列。

\n

两个问题:

\n
    \n
  1. 为什么会发生这种情况?
  2. \n
  3. 我怎样才能避免或消除它?
  4. \n
\n
library(dplyr)\n\n# Input\ndf_test <- tibble(x = c(1, 2, 3, 4), y = c(5, 6, 7, 8))\n\n# My code generating x_z and y_z\ndf_scaled <- df_test %>% \n  mutate(across(everything(), scale, .names = "{.col}_z"))\n\n# Output\ndf_scaled\n#> # A tibble: 4 \xc3\x97 4\n#>       x     y x_z[,1] y_z[,1]\n#>   <dbl> <dbl>   <dbl>   <dbl>\n#> 1     1     5  -1.16   -1.16 \n#> 2     2     6  -0.387  -0.387\n#> 3     3     7   0.387   0.387\n#> …
Run Code Online (Sandbox Code Playgroud)

r scale dplyr across

6
推荐指数
1
解决办法
497
查看次数

在 R 中将完整年龄从字符转换为数字

我有一个数据集,其中人们的完整年龄为 R 中的字符串(例如,“10 年 8 个月 23 天)”,我需要将其转换为有意义的数字变量。我正在考虑将其转换为有多少天人的年龄(这很困难,因为月份有不同的天数)。因此,最好的解决方案可能是创建一个双变量,将年龄显示为 10.6 或 10.8,一些数字变量携带 10 年 8 个月 5 天大于的信息10年7月12天。

这是我当前变量的示例

library(tibble)

age <- tibble(complete_age = 
             c("10 years 8 months 23 days",
               "9 years 11 months 7 days",
               "11 years 3 months 1 day",
               "8 years 6 months 12 days")) 

age

# A tibble: 4 x 1
  complete_age             
  <chr>                    
1 10 years 8 months 23 days
2 9 years 11 months 7 days 
3 11 years 3 months 1 day  
4 8 years …
Run Code Online (Sandbox Code Playgroud)

r lubridate stringr data-cleaning data-wrangling

5
推荐指数
1
解决办法
905
查看次数

根据 R 上的其他条目填充缺失值

我的数据集有input几个缺失值。我必须output使用以下逻辑创建数据集:

\n
    \n
  • b如果、c、 或 中的任何列中存在缺失d,则\n检查相应的a列并使用从该行到特定列的\n相应值填充缺失的部分。
  • \n
\n

我尝试使用_join来自的函数来做到这一点dplyr,但没有成功。

\n

我可以手动执行此操作,但此选项不可行,因为我有一个包含多个此类实例的大数据集。

\n

输入

\n
library(dplyr)\n\ninput <- tibble( a = rep(c("A", "B", "C", "D"),2 ),\n        b = c(1:3, NA, rep(NA,4)),\n        c = c(21:28),\n        d = c(rep(NA,4), 54, NA, 34,11)) %>% \n  arrange(a)\n
Run Code Online (Sandbox Code Playgroud)\n

输入视图

\n
# A tibble: 8 \xc3\x97 4\n#  a         b     c     d\n#  <chr> <int> <int> <dbl>\n#1 A         1    21    NA\n#2 A        NA    25 …
Run Code Online (Sandbox Code Playgroud)

r dplyr tidyverse data-wrangling

3
推荐指数
1
解决办法
62
查看次数