如何连接R中的数字列?

use*_*597 8 r concatenation

我在R的数据框中有三列x,y和z坐标,我想将它们连接成一个xyz值,如下所示.我尝试'粘贴'与'崩溃'=""和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
Run Code Online (Sandbox Code Playgroud)

在R中必须有一些非常简单/简单的方法来实现这一点,但在过去的几天里,我一直在使用谷歌搜索并查看Stack Overflow并没有引起我的注意.我需要的只是xyz列是唯一的,所以我可以运行固定效应回归,(x范围从1:4,y从1:4和z 1:10)所以我有160种可能的组合.目前我在x,y和z值上使用不同的指数,然后将它们相乘以获得唯一值 - 当然有更好的方法!谢谢

ags*_*udy 7

例如:

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
Run Code Online (Sandbox Code Playgroud)

或使用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
Run Code Online (Sandbox Code Playgroud)

`

  • 或者,作为概括,`df $ xyz < - do.call(paste0,df)`. (2认同)