我正在寻找 R 中与python 中的这篇文章等效的代码,用于添加一个列,该列累计计算前一列中正值和负值的数量。
我发现了许多累积和或更复杂的例子,但我只想计算一行中的正数和负数的数量,只要符号发生变化,这些数就会重置。请参阅示例代码。
library(dplyr)
df <- data.frame(x = c(0.5, 1, 6.5, -2, 3, -0.2, -1))
Run Code Online (Sandbox Code Playgroud)
我的预期输出是这样的:
df <- data.frame(x = c(0.5, 1, 6.5, -2, 3, -0.2, -1),
z = c(1,2,3,-1,1,-1,-2))
Run Code Online (Sandbox Code Playgroud)
我希望 R 在数据帧 df 仅以“x”开头时使用 mutate 函数创建列“z”。
我目前有一个"For Next"循环,它遍历各个年份,我想修改它以循环日期,特别是每月结束.我的年度循环的通用代码如下.显然循环多年是相对容易的,因为你有一个开始年份,这是一个整数,迭代是1.现在我想修改循环迭代虽然各个月末日期.例如,2003年1月31日,2/28/2003,......,2007年12月31日.另请注意,对于每次迭代,我都会创建一个新工作表,其中包含当前迭代的名称作为工作表的名称.同样,这一年相对容易,但使用带有"/"的日期使事情变得复杂.有没有人有任何关于使用月末日期创建循环以及使用日期创建工作表的想法?我有一个日期数组,所以代码可以引用工作表中的数组.表格的名称可以是任何格式.例如,"mm-dd-yyyy".
Sub YearLoop()
Dim FirstYr As Integer
Dim LastYr As Integer
Dim Sheetname As String
Dim Counter1 As Single
FirstYr = Sheets("Model").Range("ax15").Value
LastYr = Sheets("Model").Range("ax16").Value
Counter1 = 0
For J = FirstYr To LastYr
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = J
Sheetname = J
'do stuff
Counter1 = Counter1+1
Next
End Sub
Run Code Online (Sandbox Code Playgroud)