【发布时间】:2020-06-30 15:42:01
【问题描述】:
所以我有一个大型数据集(50,000 行和 500 列)。我通过这段代码合并了我想要的行:
Similarities <- Home %>%
group_by_at(c(1,2,5,9,70,26)) %>%
summarize_all(.funs = function(x) paste(unique(x), collapse = ','))
在此代码中,对于其他组合并具有不同值的其他行,它们的输出变为以逗号分隔的列表。但是,现在我想对一个特定列中的所有值求和,我在其中尝试了以下代码:
Similarities <- Home %>%
group_by_at(c(1,2,5,9,70,26)) %>%
summarize_at(.vars = FTR, .funs = function(x) paste(sum(x))),
summarize_all(.funs = function(x) paste(unique(x), collapse = ','))
我认为它行不通,因为我不确定自己在做什么。 我的目标是拥有特定列:“FTR”,当我将行合并在一起时,“FTR”中的所有值都被加在一起。
数据示例如下:
Total Type Clm FTR Loss
300 water 2 -103 N
200 fire 3 203 Y
300 water 2 100 Y
我的代码现在做的是:
Total Type CLM FTR Loss
300 water 2 -103, 100 Y, N
200 fire 3 203 Y
但我想要的是:
Total Type CLM FTR Loss
300 water 2 -3 Y, N
200 fire 3 203 Y
【问题讨论】:
-
为什么不把
.funs = sum放在summarise_at中? -
我不想对所有合并的列求和,我只想对 1 个特定的列求和
-
.vars中的列将是唯一的列。你应该发布数据,拜托。你能发布dput(Home[1:20, 1:5])的输出吗? -
我添加了一个示例,说明我希望输出是什么与它现在正在做什么。另外,我尝试运行该代码,但没有成功