如何结合两个数值变量,首先基于R中的原始变量创建一个值最低的新变量?

如何结合两个数值变量,首先基于R中的原始变量创建一个值最低的新变量?,r,R,我有很多数据,但我会尽量简化它,这也是在R中完成的。假设我有两个变量X和Y: X Y 100 101 200 199 300 301 现在我想合并这两个变量,但使用分隔符“\u1”前两个变量的最小值。应该是这样的: X Y Z 100 101 100_101 200 199 199_200 300 301 300_301 我们可以使用pmin/pmap(这是矢量化的,非常有效)对元素进行排序,然后paste在base

我有很多数据,但我会尽量简化它,这也是在R中完成的。假设我有两个变量X和Y:

X    Y   
100  101   
200  199   
300  301    
现在我想合并这两个变量,但使用分隔符“\u1”前两个变量的最小值。应该是这样的:

X    Y     Z 
100  101   100_101
200  199   199_200
300  301   300_301 

我们可以使用
pmin/pmap
(这是矢量化的,非常有效)对元素进行排序,然后
paste
base R

df1$Z <- with(df1, paste(pmin(X, Y), pmax(X, Y), sep="_"))
df1$Z <- apply(df1, 1, function(x) paste(sort(x), collapse="_"))

或者使用
base R中的
apply

df1$Z <- with(df1, paste(pmin(X, Y), pmax(X, Y), sep="_"))
df1$Z <- apply(df1, 1, function(x) paste(sort(x), collapse="_"))
df1$Z试试这个:

library(dplyr)
dt <- dt %>% rowwise() %>% mutate(z = paste(min(x,y),max(x,y),sep="_"))
库(dplyr)
dt%rowwise()%%>%变异(z=粘贴(最小值(x,y),最大值(x,y),sep=“\u”))