更改Paste0 Min Max以创建新的id变量

瑞奇

我需要创建一个id,用于将contact_id和Relationship_id的组合和位置相同的地方定义为一个common Household_id。

样本数据

account_id <- c(1,1,1,1)
contact_id <- c(1234,2345,3456,4567)
relationship_id <- c(2345,1234,NA,"")
ownership_percent <- c(26,22,40,12)
score <- c(500,300,700,600)
testdata <- data.frame(account_id,contact_id,relationship_id,ownership_percent,score)

一直在使用mutate,paste0,min,max,group_indices的组合-找不到正确的组合,被NA绊倒,并订购了新的family_id

方法1

  library(dplyr)
    testdata %>%
      mutate(col1 = pmin(contact_id, relationship_id), 
             col2 = pmax(contact_id, relationship_id),
             household_id = paste0(col1,col2)) %>%

方法2

 testdata %>%
    mutate(household_id = sort(paste0(c(contact_id, relationship_id))), collapse = "")

错误:列的household_id长度必须为4(行数)或1,而不是8

预期结果

在此处输入图片说明

瑞奇
library(dplyr)
# replace missing or NA values with 1
testdata$relationship_id <- type.convert(testdata$relationship_id)
testdata$relationship_id[relationship_id == ""] <- 1
testdata$relationship_id[is.na(testdata$relationship_id)] <- 1

# Create household_id
testdata %>%
  mutate(group = paste0(pmin(contact_id, relationship_id), pmax(contact_id, relationship_id)), 
         household_id = match(group, unique(group)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在ggplot调用中通过paste0()引用变量

来自分类Dev

使用使用 paste0 和变量定义的列名的子集

来自分类Dev

paste0()更改日期格式

来自分类Dev

R中三个paste0的新行语句

来自分类Dev

data.table和.SDcols与paste0一起创建字符向量

来自分类Dev

CVXPY约束:变量== 0或变量> = min

来自分类Dev

CVXPY约束:变量== 0或变量> = min

来自分类Dev

Ylim max 随变量动态变化,而 min 在 R 中设置为 0

来自分类Dev

Pandas MultiIndex 数据框用 0 替换 min 和 max

来自分类Dev

MySQL返回MIN ID而不是MAX ID?

来自分类Dev

Max-Min 和 Min-Min 算法实现

来自分类Dev

MIN() MAX() 在使用窗口函数创建的列上

来自分类Dev

从MIN到MAX排序

来自分类Dev

iOS Swift max(),min()

来自分类Dev

MIN MAX查询

来自分类Dev

Python max()与min()

来自分类Dev

Excel formula - min, max

来自分类Dev

Java Min Max方法

来自分类Dev

max() 和 min() 蟒蛇

来自分类Dev

优化 MIN & MAX 查询

来自分类Dev

VLOOKUP 结合 MIN 或 MAX

来自分类Dev

更新min变量:min(a,b)与if语句

来自分类Dev

更新min变量:min(a,b)与if语句

来自分类Dev

R:是否可以使用paste0函数(或某些类似函数)将存储在对象中的数据传递给新对象?

来自分类Dev

想要以正弦曲线的形式从min到max到min连续不断地更改值

来自分类Dev

如何使用 paste0 更改 r 中多列的名称

来自分类Dev

基于另一个数据框创建新的Min()和Max()列

来自分类Dev

paste0将“放在错误的位置

来自分类Dev

使用paste0突变列