我需要通过组合两个现有变量的值来创建一个新变量
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/