Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.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 - Fatal编程技术网

将相同的值分组,并在R中的另一列中计算该值

将相同的值分组,并在R中的另一列中计算该值,r,R,我正在尝试对一个数据集进行排序,对此我有点不知所措 我希望获得此结果并将其保存到csv文件: 你知道怎么做吗? 提前谢谢 您可以使用数据表轻松完成此操作: library(data.table) #create table ID <- c("ABC","BDE", "ABC","ABC","CDE") Movie_Code <- c("A10","A11","A12","A13","A14") df <- data.frame(ID, Movie_Code) #conver

我正在尝试对一个数据集进行排序,对此我有点不知所措

我希望获得此结果并将其保存到csv文件:

你知道怎么做吗?
提前谢谢

您可以使用数据表轻松完成此操作:

library(data.table)
#create table
ID <- c("ABC","BDE", "ABC","ABC","CDE")
Movie_Code <- c("A10","A11","A12","A13","A14")
df <- data.frame(ID, Movie_Code)
#convert to data table
df<-data.table(df)
setkey(df, ID)
final_tab<-df[, paste(unique(Movie_Code), collapse=", "),by=ID]
#CSV: comma separated values

From:

使用
tidyverse
您可以
根据
您的
ID
对您进行分组,然后
总结
。使用
collapse
指示要使用分隔符(在本例中为分号)进行粘贴的内容

library(tidyverse)

df %>%
  group_by(ID) %>%
  summarise(MovieCode = paste(MovieCode, collapse = ";"))
或在基数R中,使用聚合

aggregate(MovieCode ~ ID, df, paste, collapse = ";")
输出

   ID   MovieCode
1 ABC A10;A12;A13
2 BDE         A11
3 CDE         A14
数据

df <- structure(list(ID = c("ABC", "BDE", "ABC", "ABC", "CDE"), MovieCode = c("A10", 
"A11", "A12", "A13", "A14")), class = "data.frame", row.names = c(NA, 
-5L))

df这里有一个
base R
解决方案:

说明性数据:

df <- data.frame(
  v1 = c("ABA", "BCB", "ABA", "BCB", "DCD"),
  v2 = letters[1:5]
)

实际列名电影代码(带空格;)
df <- data.frame(
  v1 = c("ABA", "BCB", "ABA", "BCB", "DCD"),
  v2 = letters[1:5]
)
df1 <- data.frame(
  v1_unique = unique(df$v1),
  v2_paste = tapply(df$v2, df$v1, paste0, collapse = ";"), row.names = NULL)
df1
  v1_unique v2_paste
1       ABA      a;c
2       BCB      b;d
3       DCD        e