r - 使用 r 将两个变量的值组合在一起以创建一个新变量

标签 r variables

我需要通过组合两个现有变量的值来创建一个新变量

anim <- c(1,2,3,4,5,6,7,8,9,10)
pgrp <- c(1,3,2,4,2,3,1,2,4,3)
fos <- c(2,1,1,2,1,2,1,2,2,1)
data <- data.frame(anim,pgrp,fos)
data
   anim pgrp fos
1     1    1   2
2     2    3   1
3     3    2   1
4     4    4   2
5     5    2   1
6     6    3   2
7     7    1   1
8     8    2   2
9     9    4   2
10   10    3   1

我需要我的新变量“pf”来获取“pgrp”和“fos”的值,如下所示
data
   anim pgrp fos pf
1     1    1   2 12
2     2    3   1 31
3     3    2   1 21
4     4    4   2 42
5     5    2   1 21
6     6    3   2 32
7     7    1   1 11
8     8    2   2 22
9     9    4   2 42
10   10    3   1 31

最佳答案

如果您的数据框被称为 x只需将它们粘贴在一起(强制转换为字符),然后转换为数字

x$pf <- as.numeric(paste(x$pgrp, x$fos, sep = ""))

(不要使用“数据”作为名称,这已经是一个函数了。)

关于r - 使用 r 将两个变量的值组合在一起以创建一个新变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104723/

相关文章:

python - 从字典值中命名以前 undefined variable 名称?

特殊字符的正则表达式 "until but not including"(使用 R)

r - 为什么 as.POSIXct 使我的时间增加 1 小时?

r - 如何在 R 中使用 stripchart() ?

r - 在 Docker 容器中自定义 RStudio 环境

java - 不同的对象,同名变量应该有两个不同的值,但不是吗?

regex - 需要将存储在 bash 变量中的 IP 地址分解为八位字节

r - 跨共享公共(public)列分配 groupid

javascript - 在函数外更改变量值

python - 如何使用 for 循环删除多个全局分配的列表?