是否可以创建包含某些列的总计而其他列的平均值的行?

时间:2019-05-02 18:00:16

标签: r

我有一个处理时间序列数据的数据框,其中一些列表示金额,而某些列表示百分比。我想要一行来总结每一列,但是很明显,对包含百分比的列求和对我来说不是特别有用。

这是一个示例数据框:

date<-c("2019-04-27", "2019-04-28", "2019-05-01")
name<-c("sam", "sam", "sam")
amt1<-c(3,6,2)
amt2<-c(4,2,7)
percent1<-c(0.25, 0.7, 0.42)
amt3<-c(13,7,4)
percent2<-c(0.54, 0.48, 0.77)

df<-data.frame(date,name, amt1, amt2, percent1, amt3, percent2)
df$date<-as.Date(df$date)

我想要的是包含以下内容的行:

-amt1,amt2,amt3列的总和

-列%1,%2的平均值。

任何人都知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

一种选择是选择public class C : VisualCommanderExt.ICommand { public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) { this.DTE = DTE; EnvDTE.TextSelection ts = TryGetFocusedDocumentSelection(); if (ts != null && ts.IsEmpty) CopyWord(ts); else if (IsCommandAvailable("Edit.Copy")) DTE.ExecuteCommand("Edit.Copy"); } private void CopyWord(EnvDTE.TextSelection ts) { EnvDTE.EditPoint left = ts.ActivePoint.CreateEditPoint(); left.WordLeft(); EnvDTE.EditPoint right = ts.ActivePoint.CreateEditPoint(); right.WordRight(); System.Windows.Clipboard.SetText(left.GetText(right)); } private EnvDTE.TextSelection TryGetFocusedDocumentSelection() { try { return DTE.ActiveWindow.Document.Selection as EnvDTE.TextSelection; } catch(System.Exception) { } return null; } private bool IsCommandAvailable(string commandName) { EnvDTE80.Commands2 commands = DTE.Commands as EnvDTE80.Commands2; if (commands == null) return false; EnvDTE.Command command = commands.Item(commandName, 0); if (command == null) return false; return command.IsAvailable; } private EnvDTE80.DTE2 DTE; } 列(numeric),然后使用select_if,获得值为{{1}的那些列中的mutate_if }小于1,在下一步中,对mean值大于1的列进行all。(免责声明-OP表示没有列名模式或索引,这是一个OP给出的可能逻辑的一部分)

sum