小编use*_*rLL的帖子

通过使用dplyr测试跨多个列的逻辑条件进行筛选

在dplyr中是否有一个函数允许您针对选择的列测试相同的条件?

采用以下数据帧:

Demo1 <- c(8,9,10,11)
Demo2 <- c(13,14,15,16)
Condition <- c('A', 'A', 'B', 'B')
Var1 <- c(13,76,105,64)
Var2 <- c(12,101,23,23)
Var3 <- c(5,5,5,5)

df <- as.data.frame(cbind(Demo1, Demo2, Condition, Var1, Var2, Var3), stringsAsFactors = F)
df[4:6] <- lapply(df[4:6], as.numeric)
Run Code Online (Sandbox Code Playgroud)

我想在Var1,Var2或Var3的任何一行中获取至少有一个大于100的值的所有行.我意识到我可以用一系列或语句来做到这一点,如下所示:

df <- df %>% 
  filter(Var1 > 100 | Var2 > 100 | Var3 > 100)
Run Code Online (Sandbox Code Playgroud)

但是,由于我的实际数据集中有很多列,这将非常耗时.我假设有一些相当直接的方法来做到这一点,但无法在SO上找到解决方案.

r dplyr

7
推荐指数
1
解决办法
412
查看次数

润滑-查找间隔和日期之间的重叠时间

我有一个以日期时间格式转换开始和结束的数据框,如下所示:

shift_time <- data.frame(
  started_at = c("2019-09-01 02:00:00 AEST", "2019-09-02 05:00:00 AEST", "2019-11-04 20:00:00 AEDT"),
  ended_at = c("2019-09-01 11:30:00 AEST", "2019-09-02 19:00:00 AEST", "2019-11-05 04:00:00 AEDT")
)
Run Code Online (Sandbox Code Playgroud)

我还有另一个带有公众假期日期的数据框,如下所示:

public_holidays <- data.frame(
  hol_name = c('Cup Day', 'Christmas'),
  date = c("2019-11-05", "2019-12-25")
)
Run Code Online (Sandbox Code Playgroud)

我想用新的列更新shift_time df,以记录在公共假日发生的轮班小时数-即,我要计算轮班间隔与适用的任何公共假日之间的重叠(以小时为单位)。在上面的示例中,新变量的期望值为0、0、4。

有没有办法做到这一点而无需创建很多新变量(例如,difftimes,interval,匹配日期)?

r lubridate

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

使用 DT::datatable 为用户调整列大小

我正在使用一些 DT::datatables 创建一个 R flexdashboard 文档。我希望仪表板的用户能够动态调整表列的大小。看起来这个功能应该在非常广泛的数据表包中提供,但我在https://rstudio.github.io/DT/的 R DT 文档或 JQuery 文档中找不到任何对它的引用在https://datatables.net。任何人都可以提供有关如何完成此操作或在哪里查找的建议吗?

jquery r datatables dt

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

标签 统计

r ×3

datatables ×1

dplyr ×1

dt ×1

jquery ×1

lubridate ×1