我在R的数据框中有三列x,y和z坐标,我想将其连接成一个xyz值,如下所示。我尝试用'collapse'=“”和sep =“”进行“粘贴”,但是遇到了麻烦,我认为这与文本变量与数字变量有关。
I have:
x y z
1 2 3
2 3 2
3 1 4
4 2 1
I want:
x y z xyz
1 2 3 123
2 3 2 232
3 1 4 314
4 2 1 421
在R中必须有一些非常简单的方法来执行此操作,但是在过去的几天里,我一直在谷歌搜索中,反复研究堆栈溢出问题,但是没有任何事情引起我的注意。我需要的是xyz列要唯一,因此我可以运行固定效果回归(x范围为1:4,y范围为1:4和z 1:10),因此我有160种可能的组合。目前,我在x,y和z值上使用不同的指数,然后将它们相乘以获得唯一值-当然,有更好的方法!谢谢
最佳答案
例如:
transform(df,xyz=paste0(x,y,z))
x y z xyz
1 1 2 3 123
2 2 3 2 232
3 3 1 4 314
4 4 2 1 421
或使用
interaction
:transform(df,xyz=interaction(x,y,z,sep=''))
x y z xyz
1 1 2 3 123
2 2 3 2 232
3 3 1 4 314
4 4 2 1 421
`
关于r - 如何串联R中的数字列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24248029/