如何结合两个数值变量,首先基于R中的原始变量创建一个值最低的新变量?
我有很多数据,但我会尽量简化它,这也是在R中完成的。假设我有两个变量X和Y:如何结合两个数值变量,首先基于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
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”))