R 数据帧到矩阵中的行(用于接近度评级)
许多参与者(p1,p2,…)对4个单词(w1.w2,w1.w3,…,w3.w4)的所有成对组合给出了接近度评分,给出了以下数据帧:R 数据帧到矩阵中的行(用于接近度评级),r,matrix,row,reshape,R,Matrix,Row,Reshape,许多参与者(p1,p2,…)对4个单词(w1.w2,w1.w3,…,w3.w4)的所有成对组合给出了接近度评分,给出了以下数据帧: id w1.w2 w1.w3 w1.w4 w2.w3 w2.w4 w3.w4 p1 3 1 6 3 5 2 p2 2 3 5 1 6 1 p3 ..... 我想将这些评级转换为一系列矩阵,以对其应用多维缩放(参与者1个矩阵)。 我
id w1.w2 w1.w3 w1.w4 w2.w3 w2.w4 w3.w4
p1 3 1 6 3 5 2
p2 2 3 5 1 6 1
p3 .....
我想将这些评级转换为一系列矩阵,以对其应用多维缩放(参与者1个矩阵)。我想将我的数据转换为以下格式:
id first.wd.in.pair w2 w3 w4
p1 w1 3 1 6
p1 w2 3 5
p1 w3 2
p2 w1 2 3 5
p2 w2 1 6
p2 w3 1
p3 .....
id first.word second.word rating
p1 w1 w2 3
p1 w1 w3 1
p1 w1 w4 6
p1 ....
我已经研究了各种各样的重新格式化选项(例如restrape2
中的cast
),但似乎没有什么适合我的问题。我还研究了邻接矩阵的函数(例如
igraph
中的get.adjacency()
),但从我看到的情况来看,它似乎需要以下格式的函数:
id first.wd.in.pair w2 w3 w4
p1 w1 3 1 6
p1 w2 3 5
p1 w3 2
p2 w1 2 3 5
p2 w2 1 6
p2 w3 1
p3 .....
id first.word second.word rating
p1 w1 w2 3
p1 w1 w3 1
p1 w1 w4 6
p1 ....
提前感谢您的帮助!最简单的方法是“重塑2”中的
melt
和dcast
我不知道您尝试了什么,但这是一个非常标准的过程,除了一个步骤:分割融化的“变量”列。假设您的输入data。frame
称为“mydf”:
dfL您已经研究过重新格式化选项了吗?我不相信您!给我们看一下您的代码!!!非常好。还有您实际想要的输出。欢迎来到SO:-)我为我的尝试没有显示代码而道歉。这是我关于堆栈溢出的第一个问题(我对R比较陌生),我将确保在下次发布一个包含它的问题。我在melt
步骤后卡住了,所以您描述的列拆分步骤确实解决了我的问题。我所能做的最好的事情就是在restrape
中使用restrape
从宽到长,这不是我所需要的。我不能有效地使用dcast,所以这是完美的,非常感谢。