如何使用R和我自己的数据创建相似性矩阵?
我有一项研究,我提出了对刺激和个人记录的反应(数字1-1-1000)。我想知道x轴上刺激物1的名称,y轴上刺激物2的名称,以及根据相应对记录的反应。现在我只在第1列中有我的数据:第1列试验编号、第2列stim 1的名称、第3列stim 2的名称和第4列响应。有什么建议吗?我如何使用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
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())。有关更多信息,请参阅。我不确定当时为什么没有出现这种情况,但现在应该是这样。这是一段很好的代码。