亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為列中的每組相同值分配唯一的ID號

如何為列中的每組相同值分配唯一的ID號

森林海 2019-08-13 14:16:25
如何為列中的每組相同值分配唯一的ID號我有一個包含多個列的數據框。我想創建一個名為“id”的新列,它為“sample”列中的每組相同值提供唯一的ID號。示例數據:# dput(df)df <- structure(list(index = 1:30, val = c(14L, 22L, 1L, 25L, 3L, 34L, 35L, 36L, 24L, 35L, 33L, 31L, 30L, 30L, 29L, 28L, 26L, 12L, 41L, 36L, 32L, 37L, 56L, 34L, 23L, 24L, 28L, 22L, 10L, 19L), sample = c(5L, 6L, 6L, 7L, 7L, 7L, 8L, 9L, 10L, 11L, 11L, 12L, 13L, 14L, 14L, 15L, 15L, 15L, 16L, 17L, 18L, 18L, 19L, 19L, 19L, 20L, 21L, 22L, 23L, 23L)), .Names = c("index", "val", "sample"), class = "data.frame", row.names = c(NA, -30L))head(df)  index val sample 1     1  14      5  2     2  22      6  3     3   1      6  4     4  25      7  5     5   3      7  6     6  34      7  我想最終得到什么:  index val sample id1     1  14      5  12     2  22      6  23     3   1      6  24     4  25      7  35     5   3      7  36     6  34      7  3
查看完整描述

2 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

怎么樣

df2 <- transform(df,id=as.numeric(factor(sample)))

?

我認為這(從創建一個唯一的身份證)應該稍微提高效率,盡管可能有點難以記住:

df3 <- transform(df, id=match(sample, unique(sample)))all.equal(df2,df3)  ## TRUE


查看完整回答
反對 回復 2019-08-13
  • 2 回答
  • 0 關注
  • 514 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號