r - 在 r 中组合向量
问题描述
我有一个数据集,它在一个图中重复测量。数据集看起来像这样
我想提取所有以 1 (1a, 1b, 1c) 开头的行。从这些地块测量样品 15 次,在每个取样事件中重复测量 3 次。所以最终data.frame
应该有总共 135 个观察值 (3x3x15)。
这是我使用的代码...
Station1 <- BISC1FeldsParData[BISC1FeldsParData$Plot == c("1a", "1b", "1c"),]
然而,结果data.frame
只有 45 个观测值。似乎我在每个地块的每个采样事件中丢失了重复。
解决方案
您必须替换==
为%in%
:
Station1 <- BISC1FeldsParData[BISC1FeldsParData$Plot %in% c("1a", "1b", "1c"), ]
或者我们可以使用grep
:
Station1 <- BISC1FeldsParData[grep("^1", BISC1FeldsParData$Plot), ]
说明:正则表达式字符串"^1"
匹配以 . 开头的条目"1"
。
或使用subset
Station1 <- subset(BISC1FeldsParData, Plot %in% c("1a", "1b", "1c"))
或者dplyr::filter
Station1 <- dplyr::filter(BISC1FeldsParData, Plot %in% c("1a", "1b", "1c"))
推荐阅读
- dart - PayPal Orders v2 创建响应:请求的操作无法执行、语义不正确或业务验证失败
- python - 在 Pandas 中创建多个条件值计数表
- mysql - Mysql group by 获取另一个列值的值基
- c# - 无法解析虚拟方法的签名 - Xamarin 表单 - Shiny.SpeechRecognition
- python - python3引发调用方法异常
- python - 类型错误:create_estimator_and_inputs() 缺少 1 个必需的位置参数:'hparams'
- sql-server - 我可以强制 spark sql 使用 TINYINT 而不是 BYTE 吗?
- windows - GDB 编译在 Windows 下使用 MSYS2 失败
- validation - 所需的 YII 验证规则 - 所需规则的工作原理
- vue.js - 组件中的 Vuejs 组件:class="active" [小时数天]