我在Excel工作表中有一个大数据,如:
name author_id rating
Name1 Id 1 0.72
Name2 Id 2 0.9
Name3 Id 1 0.74
Name4 Id 1 0.76
Name5 Id 2 0.88
Name1 Id 3 0.8
Name3 Id 2 0.86
Name6 Id 3 0.84
Name3 Id 3 0.84
Name4 Id 4 0.78
Name1 Id 4 0.84
Name6 Id 5 0.84
Etc. … …
字符串
我想基于author_id
对它们进行分组,并将输出保存在如下格式的文本文件中:
Name1 0.72 Name3 0.74 Name4 0.76
Name2 0.9 Name5 0.88 Name3 0.86
Name1 0.8 Name6 0. 84 Name3 0.84
Name4 0.78 Name1 0. 84
Name6 0.84
型
我尝试了下面的代码,但它不工作。
library(readxl)
library(dplyr)
library(openxlsx)
df = read_excel("/Users/admin/Documents/restaurants.xlsx")
df_grp_author_id = df %>%
group_by(author_id) %>%
summarise(name = paste(name), rating, collapse = ', ', rating = paste(rating))
write.table(df_grp_author_id , file = "transactionsBy_author_id.txt", sep = "\t", row.names = FALSE)
型
2条答案
按热度按时间xwbd5t1u1#
您需要为每个
author_id
创建行号序列,并将数据透视到wide。字符串
数据
型
cmssoen22#
这种方法将数据转换为宽格式。结果中每个
name
有一列,每个author_id
有一行。字符串
创建于2023-07-20使用reprex v2.0.2