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

如何使用R和我自己的数据创建相似性矩阵?,r,R,我有一项研究,我提出了对刺激和个人记录的反应(数字1-1-1000)。我想知道x轴上刺激物1的名称,y轴上刺激物2的名称,以及根据相应对记录的反应。现在我只在第1列中有我的数据:第1列试验编号、第2列stim 1的名称、第3列stim 2的名称和第4列响应。有什么建议吗?我如何使用R进行此操作?如果正确理解问题,则此操作应有效: mydata <- data.frame(trial,stim1,stim2,response) mytable <- tapply(mydata$res

我有一项研究,我提出了对刺激和个人记录的反应(数字1-1-1000)。我想知道x轴上刺激物1的名称,y轴上刺激物2的名称,以及根据相应对记录的反应。现在我只在第1列中有我的数据:第1列试验编号、第2列stim 1的名称、第3列stim 2的名称和第4列响应。有什么建议吗?我如何使用R进行此操作?

如果正确理解问题,则此操作应有效:

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

mytable <- tapply(mydata$response,list(mydata$stim1,mydata$stim2),mean)

mydatadarckeen的帖子只需要有
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

(顺便说一句,很抱歉做出新的回答。我还没有足够的声誉发表评论,而且编辑太小,无法直接应用于上一篇文章。)

欢迎使用Stack Overflow!除非你提供一个其他人可以在自己的机器上运行的可复制示例,否则任何人都很难提供帮助。例如,这将包括一小部分数据(使用dput())。有关更多信息,请参阅。我不确定当时为什么没有出现这种情况,但现在应该是这样。这是一段很好的代码。