匹配所有对2个矢量到第三塔
问题描述:
的我有这样data.frame:匹配所有对2个矢量到第三塔
x1=c(1,2,3,4,5)
values=c(1.5,2.2,1.1,2.3,1.1)
d=data.frame(x1,values)
我devided x1
到
x=c(1,2)
y=c(3,4,5)
,然后我计算使用expand.grid
e=expand.grid(x=x,y=y)
> e
x y
1 3
2 3
1 4
2 4
1 5
2 5
所有对
我的问题是如何计算给出值(x)/值(y)的第三列? Like:
x y values_1
1 3 1.5/1.1
2 3 2.2/1.1
1 4 1.5/2.3
2 4 2.2/2.3
1 5 1.5/1.1
2 5 2.2/1.1
谢谢你的帮忙。
答
你想用方括号:
e$newcol <- with(e,values[x]/values[y])
或类似
e$newcol <- values[e$x]/values[e$y]
这使得e
:
x y newcol
1 1 3 1.3636364
2 2 3 2.0000000
3 1 4 0.6521739
4 2 4 0.9565217
5 1 5 1.3636364
6 2 5 2.0000000
要了解更多信息,请键入help.start()
,定位到“ R介绍“及其关于”索引向量;选择“的章节修改和修改数据集的子集“。
太棒了!谢谢你的帮助。 – Math 2015-03-25 02:23:36