簡體   English   中英

R列出另一個變量的每個值的所有不同值

[英]R list all distinct values for each value of another variable

我想列出與另一個變量的值關聯的所有不同值。 例如:

nums <- rep(1:3,5)
nums2 <- 142:156
numbers <- data.frame(sort(nums),nums2)

         nums nums2
1           1   142
2           1   143
3           1   144
4           1   145
5           1   146
6           2   147
7           2   148
8           2   149
9           2   150
10          2   151
11          3   152
12          3   153
13          3   154
14          3   155
15          3   156 

現在,我想弄清楚如何為nums每個唯一值列出nums2的所有唯一值,這樣我就可以獲得這樣的列表:

         nums values
1           1   142,143,144,145,146
2           2   147,148,149,150,151
3           3   152,153,154,155,156

任何幫助表示贊賞。

您可以為此使用aggregatepaste

aggregate(cbind(values=nums2) ~ nums, numbers, paste, collapse=",")
  nums              values
1    1 142,145,148,151,154
2    2 143,146,149,152,155
3    3 144,147,150,153,156
setNames(data.frame(do.call(rbind, lapply(split(numbers, numbers$sort.nums.),
                      function(a) c(a$sort.nums[1], paste(a$nums2, collapse = ", "))))),
                      nm = c("nums","values"))

dplyr它看起來像:

numbers %>% group_by(sort.nums.) %>% summarise( values= paste(nums2,collapse=",") ) 

這是使用data.table的選項

library(data.table)
unique(setDT(numbers))[, .(values = toString(nums2)), by = nums]
#   nums                  values
#1:    1 142, 143, 144, 145, 146
#2:    2 147, 148, 149, 150, 151
#3:    3 152, 153, 154, 155, 156

暫無
暫無

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

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