如何在 tidydata 格式中找到正确的比例?
How do I find proportions correct in a tidydata format?
目前我有一个 tidydata 格式的数据文件,其中有多个主题和单独的答案。所以是这样的
ID |Button-Pressed | Correct_Answer
1 A B
1 A B
1 A B
1 B A
1 B A
2 A B
2 A A
所以我想做的是为每个 ID 找到正确的比例。我想以某种方式找到第2列和第3列中的值是否对应(实际值不同,一列是两个数字之一,另一列是两个单词之一)
那么,我如何想出一些方法来制定一个 table,其中每个参与者的正确比例都列在它旁边的一列中?是否有某种现有功能可以帮助我?
这是一个分组摘要,虽然有一些事情使得立即发现有点棘手。首先,R 在大多数情况下都是向量化的,所以当我执行 pressed == correct
时,这会给出一个长度为 7 的逻辑向量。然后,mean
自动将 TRUE
转换为 1
,将 FALSE
转换为 0
,因此平均值实际上只是正确的比例。
编辑:包括一个使用 recode
.
的例子
library(tidyverse)
tbl <- tibble(
id = c(1, 1, 1, 1, 1, 2, 2),
pressed = c("78", "78", "78", "83", "83", "78", "78"),
correct = c("different", "different", "different", "same", "same", "different", "same")
)
tbl %>%
mutate(correct = recode(correct, same = "78", different = "83")) %>%
group_by(id) %>%
summarise(pct_correct = mean(pressed == correct) * 100)
#> # A tibble: 2 x 2
#> id pct_correct
#> <dbl> <dbl>
#> 1 1. 0.
#> 2 2. 50.
由 reprex package (v0.2.0) 创建于 2018-04-04。
目前我有一个 tidydata 格式的数据文件,其中有多个主题和单独的答案。所以是这样的
ID |Button-Pressed | Correct_Answer 1 A B 1 A B 1 A B 1 B A 1 B A 2 A B 2 A A
所以我想做的是为每个 ID 找到正确的比例。我想以某种方式找到第2列和第3列中的值是否对应(实际值不同,一列是两个数字之一,另一列是两个单词之一)
那么,我如何想出一些方法来制定一个 table,其中每个参与者的正确比例都列在它旁边的一列中?是否有某种现有功能可以帮助我?
这是一个分组摘要,虽然有一些事情使得立即发现有点棘手。首先,R 在大多数情况下都是向量化的,所以当我执行 pressed == correct
时,这会给出一个长度为 7 的逻辑向量。然后,mean
自动将 TRUE
转换为 1
,将 FALSE
转换为 0
,因此平均值实际上只是正确的比例。
编辑:包括一个使用 recode
.
library(tidyverse)
tbl <- tibble(
id = c(1, 1, 1, 1, 1, 2, 2),
pressed = c("78", "78", "78", "83", "83", "78", "78"),
correct = c("different", "different", "different", "same", "same", "different", "same")
)
tbl %>%
mutate(correct = recode(correct, same = "78", different = "83")) %>%
group_by(id) %>%
summarise(pct_correct = mean(pressed == correct) * 100)
#> # A tibble: 2 x 2
#> id pct_correct
#> <dbl> <dbl>
#> 1 1. 0.
#> 2 2. 50.
由 reprex package (v0.2.0) 创建于 2018-04-04。