小编Mee*_*Met的帖子

删除单个dplyr group_by组

如果小标题由中的多个变量分组dplyr,是否有办法删除单个分组变量,而不是重新指定没有该变量的组?我以为那会是类似的东西group_by(df, -var, add = TRUE),尽管那行不通。

例:

library(dplyr)

# Works
mtcars %>%
  # Original groups
  group_by(cyl, gear, carb) %>%
  # New groups
  group_by(cyl, gear) %>%
  group_vars() 
# [1] "cyl"  "gear"

# Doesn't work
mtcars %>%
  # Original groups
  group_by(cyl, gear, carb) %>%
  # New groups
  group_by(-carb, add = TRUE) %>%
  group_vars() 
# [1] "cyl"   "gear"  "carb"  "-carb"
Run Code Online (Sandbox Code Playgroud)

这显然是一个简单的示例-我的实际用例有许多基于用户输入的条件分组,而我想只在函数中的某个位置删除一个分组,而将其余分组保留。

r dplyr

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

使用lubridate在dplyr链中编辑年份

我有一个类似于以下玩具数据的日期框架:

df <- structure(list(year = c(2014, 2014, 2014, 2014, 2014, 2015, 2015, 
    2015, 2015, 2015, 2016, 2016, 2016, 2016, 2016), date = structure(c(16229, 
    16236, 16243, 16250, 16257, 16600, 16607, 16614, 16621, 16628, 
    16964, 16971, 16978, 16985, 16992), class = "Date"), value = c(0.27, 
    0.37, 0.57, 0.91, 0.2, 0.9, 0.94, 0.66, 0.63, 0.06, 0.21, 0.18, 
    0.69, 0.38, 0.77)), .Names = c("year", "date", "value"), row.names = c(NA, 
    -15L), class = c("tbl_df", "tbl", "data.frame"))
Run Code Online (Sandbox Code Playgroud)

哪些value是感兴趣的价值,year并且date是不言自明的.如果我想value在不同年份进行视觉比较,那么在不同的年份 …

r lubridate dplyr

5
推荐指数
2
解决办法
633
查看次数

dplyr条件变异本身

我有一个数据框,其中的字符变量主要由数值组成,偶尔会有已知的字符串以及一些NA值.我想有条件地重新格式化数值以具有一个小数位,但保留字符和NA值.

此代码适用于玩具数据框并生成所需的输出:

df <- data.frame(a = c("1", "2", "3", "none", NA),
                 stringsAsFactors = FALSE)

test <- df %>%
  mutate(a = ifelse(is.na(a) | a == "none",
                    a,
                    format(round(as.numeric(a), 1), nsmall = 1)))

test
#    a
# 1  1.0
# 2  2.0
# 3  3.0
# 4 none
# 5 <NA>
Run Code Online (Sandbox Code Playgroud)

但是会发出警告信息

Warning message:
In format(round(as.numeric(c("1", "2", "3", "none", NA)), 1), nsmall = 1) :
  NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)

我相信b/c format(round(as.numeric(a), 1), nsmall = 1)))仍然作用于整个向量,即使其中的值仅用于条件为false 的mutate …

r dplyr

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

标签 统计

dplyr ×3

r ×3

lubridate ×1