R 从网格坐标中查找正确的平均数

R 从网格坐标中查找正确的平均数,r,R,我试图计算参与者在记忆任务中得分正确的平均人数。我有一个名为RecallType的专栏,告诉我参与者是通过前向记忆回忆(称为forwards)还是通过后向记忆回忆(称为backwards)进行评估的。我还有一个名为probstate的列,它标识内存任务的类型,其中有两个。在此列中,我有位置和数字。这些都是我感兴趣的变量 内存任务本身被分成两列Recall.CRESP是一列,指定通过网格坐标选择的记忆测试的正确答案召回。响应显示参与者的响应 这些列如下所示: |Recall.CRESP

我试图计算参与者在记忆任务中得分正确的平均人数。我有一个名为
RecallType
的专栏,告诉我参与者是通过前向记忆回忆(称为
forwards
)还是通过后向记忆回忆(称为
backwards
)进行评估的。我还有一个名为
probstate
的列,它标识内存任务的类型,其中有两个。在此列中,我有
位置
数字
。这些都是我感兴趣的变量

内存任务本身被分成两列
Recall.CRESP
是一列,指定通过网格坐标选择的记忆测试的正确答案<代码>召回。响应显示参与者的响应

这些列如下所示:

|Recall.CRESP                     | Recall.RESP                     |
|---------------------------------|---------------------------------|                 
|grid35grid51grid12grid43grid54   | grid35grid51grid12grid43grid54  |                
|grid11gird42gird22grid51grid32   | grid11gird15gird55grid42grid32  |
例如,在该表的第1行中,参与者得到了5/5的正确值,因为
Recall.CRESP
的网格坐标与
Recall.RESP
匹配。然而,在第2行中,参与者只获得了2/5的正确率,因为只有第一个和最后一个网格坐标是相同的。坐标的顺序必须匹配才能正确

理想情况下,我愿意从任何回应中学习。如果你真的回复,请提出一些意见


谢谢。

由于您是新来的
stackoverflow
,请阅读此处关于如何制作可复制示例的答案,以便您的问题清楚明了:

据我所知,您希望拆分字符串,然后计算相等的大小写。下面是一些让您开始学习的代码:

a = "grid11gird42gird22grid51grid32"
b = "grid11gird15gird55grid42grid32"

a1 = strsplit(a, "grid|gird")
b1 = strsplit(b, "grid|gird")
table(unlist(a1) == unlist(b1))["TRUE"] - 1

您应该能够使用
group_by
summary
软件包
dplyr

的功能,通过您感兴趣的变量取平均值,因为您是
stackoverflow
新手,请阅读此处关于如何制作可复制示例的答案,以便您的问题清楚:

据我所知,您希望拆分字符串,然后计算相等的大小写。下面是一些让您开始学习的代码:

a = "grid11gird42gird22grid51grid32"
b = "grid11gird15gird55grid42grid32"

a1 = strsplit(a, "grid|gird")
b1 = strsplit(b, "grid|gird")
table(unlist(a1) == unlist(b1))["TRUE"] - 1

您应该能够使用
groupby
summary
软件包的功能
dplyr

尝试使用
regmatches

fun=function(x)do.call(rbind,regmatches(x,gregexpr(".*?\\d.",x)))
with(dat,rowSums(fun(Recall.CRESP)==fun(Recall.RESP)))
[1] 5 2
数据:


尝试使用
regmatches

fun=function(x)do.call(rbind,regmatches(x,gregexpr(".*?\\d.",x)))
with(dat,rowSums(fun(Recall.CRESP)==fun(Recall.RESP)))
[1] 5 2
数据:


你的问题是如何计算正确回答的数量?第一行的答案应该是5,第二行的答案应该是2?我想这是一个更好的表达方式!计算正确答案是,并根据感兴趣的变量给出平均值。转发数字回忆平均为4/5,跨行正确。您的问题是如何计算正确回答的数量?第一行的答案应该是5,第二行的答案应该是2?我想这是一个更好的表达方式!计算正确答案是,并根据感兴趣的变量给出平均值。转发数字召回率平均为4/5,跨行正确。