如何使用R和我自己的数据创建相似性矩阵?

时间:2011-09-16 20:08:38

标签: r

我有一项研究,其中我提出了一对刺激,个人记录了一个反应(数字1-1-1000)。我想要x轴上的刺激名称,y轴上的刺激2的名称以及根据所呈现的相应对记录的响应。现在我只在列中有我的数据:第1列试验编号,第2列刺激1的名称,第3列刺激2的名称,第4列是响应。有什么建议?我怎么能用R?

来解决这个问题

2 个答案:

答案 0 :(得分:2)

darckeen的帖子只需要list()而不是c()。然后我认为它应该工作。这是一个完整的例子:

set.seed(12345)
data = expand.grid(trial=1:10, stim1=1:5, stim2=1:3)
data = data.frame(data, response=rnorm(nrow(data)))

with(data, tapply(response, list(stim1,stim2), mean))

输出:

            1           2           3
1 -0.13294415  0.27326245 -0.11120045
2  0.28597776  0.02338804  0.21280916
3  0.08338741  0.44086561 -0.08682628
4  0.72432003  0.84250712  0.28383378
5 -0.06290978 -0.02588252 -0.36364019

(顺便说一句,很抱歉给出一个新答案。我没有足够的声誉来评论,而且编辑太小而无法直接应用到上一篇文章。)

答案 1 :(得分:0)

如果正确理解问题,这应该有效:

mydata <- data.frame(trial,stim1,stim2,response)

mytable <- tapply(mydata$response,list(mydata$stim1,mydata$stim2),mean)
相关问题