我有一个txt,其中包含以下数据:
ranking index tornado reports hail reports wind reports
0.3968208 9 1 7
0.156263 2 0 3
0.1444246 10 1 7
0.2830781 7 2 6
0.1258707 12 0 2
0.2452705 6 0 6
0.07492937 6 2 8
0.1862151 8 1 5
0.3258324 6 2 17
0.09579834 2 2 10
0.8557362 11 3 14
0.05694438 8 3 9
0.6755703 4 3 24
1.695709 14 0 5
1.242222 17 2 12
0.220234 7 1 7
0.5113825 6 0 6
0.2355718 3 0 12
0.0799512 1 1 6
1.267324 15 2 6
0.0862502 7 1 3
1.151916 33 2 6
0.06002221 9 0 17
0.2011567 11 5 17
鉴于冰雹报告的数量大于10,风力报告的数量大于20,龙卷风的报告数量,我需要确定大风爆发的可能性(等级指数大于0.25)大于5?
答案 0 :(得分:1)
假设这是完整数据的部分。以下基于dplyr
的解决方案基于以下条件: hail_reports> 2&wind_reports> 2&tornado_reports> 5 (否则您将获得 零 )。对其进行适当修改以获取完整数据。
librray(dplyr)
df %>%
filter (hail_reports > 2 & wind_reports > 2 & tornado_reports > 5) %>%
mutate(major = if_else(ranking_index > 0.25, 1, 0)) %>% # major= 1: index > 0.25
group_by(major) %>% summarize(n = n()) %>%
transmute(major, prob = n/sum(n))
# major prob
# <dbl> <dbl>
# 1 0 0.667
# 2 1 0.333 # major prob = 0.333
PS: 总是最好避免在列名中使用空格。例如。使用“ hail_reports”代替“ hail报告”
答案 1 :(得分:0)
我认为这是不可能发生的事件,因为在给定的数据集中,冰雹报告的数量永远不会大于10。 还是上面提供的只是一个示例,而不是完整的示例?