簡體   English   中英

使用 r 將兩個變量的值組合在一起以創建一個新變量

[英]combining values of two variables together to create a new variable using r

我需要通過組合兩個現有變量的值來創建一個新變量

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

如果您的 dataframe 被稱為x只需將它們粘貼在一起(強制轉換為字符),然后轉換為數字

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

(不要使用“數據”作為名稱,即已經是 function。)

您可以使用算術(如果 fos 始終 < 10):

df <- within(df, pf <- pgrp * 10 + fos)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM