【发布时间】:2019-10-22 17:40:25
【问题描述】:
我研究了 dplyr 和 tidyr 甚至是 base R,但我似乎无法弄清楚如何根据行值对我的数据进行子集化。
我曾尝试使用 dplyr filter() 和 select() 函数,但因为 gender、language 和 age 在 id 列中,我无法仅通过键入 data %>% filter(gender == 1) 进行过滤。
我有一个包含 50 位评估者的列表。对于此处的示例,我将显示 5。我有 183 行,其中包括评估者对每个问题的回答,最后三行包含人口统计数据,例如年龄、性别以及某人是母语还是非母语。我这里以6行为例进行说明。
我想做的是找到一种方法,根据年龄、性别和语言值中的值对我的数据进行子集化。假设我想选择性别 1、语言 1 或性别 1 AND 语言 1 的所有评分。
谢谢。
代码:
data <- data.frame("id" = c(901,902,903,"age",
"gender",
"language"),
"rater1" = c(7, 9, 9, 21, 1, 1),
"rater2" = c(9, 9, 9, 39, 2, 2),
"rater3" = c(9, 9, 9, 38, 2, 1),
"rater4" = c(9, 9, 9, 33, 2, 1),
"rater5" = c(2, 9, 9, 21, 2, 1))
【问题讨论】:
-
尝试
library(tidyverse)然后 filter() -
查看
dolyr::filter -
请展示您尝试过但没有奏效的方法。否则很难知道答案的目标位置。
-
@Gregor 我尝试使用 dplyr,但使用过滤器无济于事。我会更新我的帖子。
-
前3个id,901、902、903是什么意思?这些是评估者回应的问题 ID 吗?