【发布时间】:2020-05-21 00:12:51
【问题描述】:
我正在创建一个闪亮的应用程序来帮助我的数据框从这里开始......
Date Street Name State Cars on Road Accidents
0 2001-10-01 A Street MD 3572 1
1 2001-10-02 B Street MD 1624 1
2 2001-10-03 C Street MD 1085 0
3 2001-10-04 D Street MD 5017 0
4 2001-10-05 E Street MD 2335 1
5 2001-10-06 F Street MD 1664 0
6 2001-10-07 G Street MD 5762 0
7 2001-10-08 H Street MD 3422 0
8 2001-10-09 I Street MD 1127 1
9 2001-10-10 J Street MD 4066 1
10 2001-10-11 A Street MD 4916 1
11 2001-10-12 B Street MD 5432 1
12 2001-10-13 C Street MD 1619 1
13 2001-10-14 D Street MD 1714 1
14 2001-10-15 E Street MD 3423 0
15 2001-10-16 F Street MD 1284 0
16 2001-10-17 G Street MD 4383 0
17 2001-10-18 H Street MD 3459 0
18 2001-10-19 I Street MD 1822 1
19 2001-10-20 J Street MD 2356 1
这是由于来自shiny的sliderInput设置了“2001年10月10日”之前和之后的截止日期...
Street Name State Cars_on_Road.x Total_Accidents.x Accident_Rate.x Cars_on_Road.y Total_Accidents.y Accident_Rate.y Total_Number_of_Cars_on_Road
1 A Street MD 3572 1 25.572 4916 0 0.000 8488
2 B Street MD 1624 1 38.799 5432 1 10.035 7056
3 C Street MD 1085 0 33.169 1619 1 42.596 2704
4 D Street MD 5017 0 6.520 1714 1 40.942 6731
5 E Street MD 2335 1 30.978 3423 0 0.000 5758
6 F Street MD 1664 0 21.968 1284 0 0.000 2947
7 G Street MD 5762 0 4.461 4383 0 0.000 10145
8 H Street MD 3422 0 13.381 3459 0 0.000 6881
9 I Street MD 1128 1 56.947 1822 1 29.674 2950
10 J Street MD 4066 1 13.822 2356 1 28.721 6422
但是,我一直在努力通过闪亮使数据库看起来像这样。
编辑#1
如果我不使用闪亮,这正是我从第一个数据库创建第二个数据库的方式。坦率地说,我一直在苦苦琢磨如何将响应式代码放入闪亮代码的服务器部分,我不知道如何制作它。
raw_data <- read_csv("C:\\mypath\\myfile.txt")
before_date <- raw_data %>% filter(Date <= as.Date("2001-10-10")) %>% summarize(Cars_on_Road = sum(raw_data$"Cars on Road"), Total_Accidents = sum(Accidents)) %>% mutate(Accident_Rate = round(Total_Accidents/Cars_on_Road*100000,3))
after_date <- raw_data %>% filter(Date > as.Date("2001-10-10")) %>% summarize(Cars_on_Road = sum(raw_data$"Cars on Road"), Total_Accidents = sum(Accidents)) %>% mutate(Accident_Rate = round(Total_Accidents/Cars_on_Road*100000,3))
final <- merge.data.frame(x = before_date, y = after_date, by = "Street Name", all = TRUE) %>% mutate(Total_Cars_on_Road = Cars_on_Road.x + Cars_on_Road.y)
您对此有何建议?非常感谢任何帮助。
【问题讨论】:
-
您能分享您当前的代码吗?没有它很难看出为什么你的代码没有给你预期的结果。
-
致@PaulvanOppen,见上面的编辑。
-
很抱歉,您可以在此处添加创建 DF 的代码或复制
dput函数的结果吗?否则我必须手动输入你的 DF 来帮助你。 -
@PaulvanOppen 这是另一种表达方式,我想做的是制作一个与此示例完全相同的闪亮散点图link,但使用截止日期作为滑块工具。我希望我的 x 值是截止日期之前的事故率,y 值是截止日期之后的事故率。这就是为什么我试图弄清楚如何以我想要的方式正确组织数据,以便它可以正确地对滑块工具做出反应。
-
那么有 3 个步骤。第 1 步:获取原始数据并按日期范围过滤(来自闪亮的滑块)。第 2 步:重塑您的数据,使其适合绘制为散点图(使用任何数字列)。第 3 步:使用 ggplot2 绘图并在闪亮的应用程序中显示。这是正确的吗?