Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 重塑数据框以创建列中唯一值的列表_R_Aggregate_Reshape - Fatal编程技术网

R 重塑数据框以创建列中唯一值的列表

R 重塑数据框以创建列中唯一值的列表,r,aggregate,reshape,R,Aggregate,Reshape,我有数据集: df <- data.frame(g = c("X", "X", "Y", "Z", "Y", "Z", "Z"), r = c("A", "B", "C", "C", "A", "A", "A")) df尝试一下: dg <- data.frame( g = levels(df$g), r = tapply(df$r, df$g, function(n) {paste(sort(unique(n)), collapse =

我有数据集:

df <- data.frame(g = c("X", "X", "Y", "Z", "Y", "Z", "Z"),
                 r = c("A", "B", "C", "C", "A", "A", "A"))
df尝试一下:

dg <- data.frame(
  g = levels(df$g),
  r = tapply(df$r, df$g, function(n) {paste(sort(unique(n)), collapse = " ")})
  )
> dg
  g   r
X X A B
Y Y A C
Z Z A C
dg
GR
X X A B
Y Y A C
Z Z A C
聚合()怎么样


您还可以使用公式样式并使用
data
参数来避免写入
df$·
aggregate(r~g,function(x)paste0(sort(unique(x)),collapse=“”),data=df)
在这些情况下,我实际上更喜欢
列表
而不是
粘贴
,以保留在需要时进行进一步分析的灵活性<代码>聚合(r~g,df,函数(x)唯一(排序(如.character(x))),simplify=FALSE)
。但这确实回答了他们提出的问题,所以+1:-)
aggregate( df$r , by = list( df$g ) , function(x) paste0( sort( unique(x) ) , collapse = "" ) )
#  Group.1  x
#1       X AB
#2       Y AC
#3       Z AC