我正在尝试在R中运行来自
我有一个数据框
"我对这些输出中的两个感兴趣:"
"第一列:"
"和第二列:"
然而,我如何将此方法应用于每个单独的
modifiedmk
包的函数。install.packages('modifiedmk')
library(modifiedmk)
我有一个数据框
data
,是通过以下方式生成的:Station <- c('APT','APT', 'APT','APT', 'APT', 'APT', 'APT','APT', 'APT','APT','APT','APT',
'AF','AF', 'AF','AF','AF','AF','AF','AF','AF',
'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL', 'EL',
'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS', 'GFS'
)
Rainfall <- c(375.3, 263.3, 399.2, 242.6, 847.6, 276.5, 712.8, 366.3, 188.6, 478.4, 539, 682.5,
520.7, 1337.8, 524, 908.4,748.5,411.8, 772.4,978.5,983,
732.4, 788.6, 567.1, 576, 931.6, 727.2, 1079.3, 902.8,493.4, 630.7, 784.1,660.2, 531.3, 487.1,798.4,
1064.1, 590.3, 1011.2, 1037.1, 1398.4, 1153.6,994.1, 1100.2,743.7,637.4, 792.2, 891.9,880.9, 670, 920.2,681.4)
Year <- c('1957','1958','1959','1960','1961','1962','1963','1964','1965','1966','1967','1968',
'1960','1961','1962','1963','1964','1965','1966','1967','1968',
'1957','1958','1959','1960','1961','1962','1963','1964','1965','1966','1967','1968','1969','1970','1971',
'1964','1965','1966','1967','1968','1969','1970','1971','1972','1973','1974','1975','1976','1977','1978','1979')
length(Year)
data<-data.frame(Year, Station, Rainfall)
我有一个数据框,其中四个降雨数据的站点作为行。 我想在每个数据的 Station
上应用来自 modifiedmk
软件包的 mmky1lag
方法,并在R中生成具有两列的摘要表格:
- 在p <0.05的显着趋势的站点的百分比
- Sen斜率的平均值
例如,我可以使用 mmky1lag(as.vector(data $ Rainfall))
对所有降雨数据运行 mmky1lag
方法,它会产生
> mmky1lag(as.vector(data$Rainfall))
Corrected Zc new P-value N/N* Original Z old P.value
3.332353e+00 8.611480e-04 1.297360e+00 3.795608e+00 1.472822e-04
Tau Sen's slope old.variance new.variance
3.634992e-01 9.092857e+00 1.605933e+04 2.083474e+04
"我对这些输出中的两个感兴趣:"
"第一列:"
# Get percent of stations with significant trends where p < 0.05
mmky1lag(as.vector(data$Rainfall))[2] < 0.05
"和第二列:"
# Make another column that is the mean Sen's slope
mmky1lag(as.vector(data$Rainfall))[7]
然而,我如何将此方法应用于每个单独的
Station
的data
中?在Python中,我会按Station
进行分组,然后应用该方法。但我不确定如何在R中实现这一点。然后,在按站点分组之后,我想要一个包含上述两列信息的汇总表格。
setNames
分配的名称与列表元素中的顺序相同?group_by
是否总是按字母顺序排序?请澄清。 - Ramakrishna Sgroup_by
之后,结果会按字母顺序排列,我们需要使用unique
和sort
使结果与setNames
匹配。另一个github问题讨论了在group_map
之后保留名称 - 但现在返回的列表没有名称。在nest
之后使用purrr:map
可能是一种替代方法... - Ben