r - Rstudio:将公式/参数应用于 r 对象的所有行
问题描述
在尝试了很多方法之后,我来这里问一个关于 Rstudio 的问题。
基本上,我有一个名为“日期”的 R 对象,带有 42264 obs。1 个变量(这些都是日期,格式为 YYYY-MM-DD HH:MM:SS,我通过包 lubridate 创建)。我有另一个名为274 obs的“观察”的 R 对象。2 个变量(也是相同格式的日期,第一列命名为'Start',第二列命名为'End',因为它们代表一个时间范围)。我想做的是从对象“日期”中排除在“观察”时间段内找到的所有日期。我发现以下论点似乎工作正常(有点):
nouvelles_dates<-dates[!(dates$Date %in% observation$Start:observation$End),]
但是,我的问题是这个论点只适用于“观察”中的第一行(时间段),而我希望它适用于所有 274 行。
我收到以下错误消息:
#Error in 1:observation : NA/NaN argument
#In addition: Warning messages:
#1: In observation$Start:observation$End :
# numerical expression has 274 elements: only the first used
我尝试创建循环,以便将参数应用于“观察”中的所有行,我尝试通过参数 for() 和 apply() 但它们似乎不起作用。也许是我的错误应用了这个论点。您对我如何解决这个问题有任何想法吗?
我的数据的子样本:对象“日期”:
A tibble: 42,264 x 1
Date <dttm>
1 2018-05-29 08:00:00
2 2018-05-29 08:01:00
3 2018-05-29 08:02:00
4 2018-05-29 08:03:00
5 2018-05-29 08:04:00
6 2018-05-29 08:05:00
# ... with 42,258 more rows
对象“观察”
A tibble: 274 x 2
Start End
<dttm> <dttm>
1 2018-05-29 16:56:00 2018-05-29 18:16:00
2 2018-05-30 15:37:00 2018-05-30 16:57:00
3 2018-05-31 03:07:00 2018-05-31 04:27:00
# ... with 271 more rows
解决方案
试试这个......希望我能正确理解你的问题。
observation_dates <- c(observations$Start, observations$End)
required_rows <- dates[which(!dates$Date %in% observation_dates),]
推荐阅读
- java - 禁用 JavaFX 中的所有父节点,同时保持其所有子节点可点击
- android - 为什么 PreferenceScreen 在 sdk 版本 28 中显示不正确?如何解决?
- c - 头文件后的 GCC 选项 -save-temps 数字
- java - 每次侦听器执行时如何更改面板的图形?
- angularjs - 路由提供者不重定向
- java - 两个整数数组的串联和
- json - 使用 jq 循环一个 json 文件
- android - NestedScrollView 内的 NestedScrollView 不滚动
- glsl - 如何避免关于未使用的顶点输入的验证层错误?
- javascript - 如何在 .map 中创建的一堆其他下拉列表中仅触发一个下拉列表