我正在运行一个https://www.example.org托管在 Heroku上的 Flask 网站,附带一个静态博客,https://www.example.org/blog我通过 Hugo 生成,我希望使这个过程更有效率
根据我的研究,出于 SEO 的原因,最好将博客放在子目录中。
我目前维护博客的工作流程如下:
whitenoise访问静态文件夹我意识到通过 Flask 提供静态内容的计算效率较低(这是可以接受的),但这现在不是主要问题。
但我确定一定有更好的方法?!
这可能非常复杂,我怀疑需要先进的知识.我现在有两种不同类型的data.frames需要组合:
数据:
数据帧A:
按患者ID列出所有输血日期.每次输血都由一个单独的行代表,患者可以进行多次输血.不同的患者可以在同一天进行输血.
Patient ID Transfusion.Date
1 01/01/2000
1 01/30/2000
2 04/01/2003
3 04/01/2003
Run Code Online (Sandbox Code Playgroud)
B类数据帧包含其他日期的测试结果,也包括患者ID:
Patient ID Test.Date Test.Value
1 11/30/1999 negative
1 01/15/2000 700 copies/uL
1 01/27/2000 900 copies/uL
2 03/30/2003 negative
Run Code Online (Sandbox Code Playgroud)
我想要的是具有相同行数的Dataframe A(每次输入为1),并将最新的Test.Value作为单独的列.每个输血日期应该具有与输血最密切(之前)进行的测试的测试结果.
期望的输出:
- >
Patient ID Transfusion.Date Pre.Transfusion.Test
1 01/01/2000 negative
1 01/30/2000 900 copies/ul
2 04/01/2003 negative
3 04/01/2003 NA
Run Code Online (Sandbox Code Playgroud)
我认为一般策略是按患者ID对data.frames进行子集化.然后获取患者1的所有输血日期,检查哪个结果最接近每个元素的所有可用test_dates,然后返回最接近的值.
如何解释R来做到这一点?
编辑1:这是这些示例的R代码
df_A <- data.frame(MRN = c(1,1,2,3),
Transfusion.Date = as.Date(c('01/01/2000', '01/30/2000',
'04/01/2003','04/01/2003'),'%m/%d/%Y'))
df_B <- data.frame(MRN = c(1,1,1,2),
Test.Date = as.Date(c('11/30/1999', '01/15/2000', '01/27/2000', …Run Code Online (Sandbox Code Playgroud) 我有一个带有MRN,日期和测试值的数据框.
我需要选择每个MRN的所有第一行,其中三个连续值大于0.5.
这是数据的示例版本:
MRN Collected_Date ANC
1 001 2015-01-02 0.345
2 001 2015-01-03 0.532
3 001 2015-01-04 0.843
4 001 2015-01-05 0.932
5 002 2015-03-03 0.012
6 002 2015-03-05 0.022
7 002 2015-03-06 0.543
8 002 2015-03-07 0.563
9 003 2015-08-02 0.343
10 003 2015-08-03 0.500
11 003 2015-08-04 0.734
12 003 2015-08-05 0.455
13 004 2014-01-02 0.001
14 004 2014-01-03 0.500
15 004 2014-01-04 0.562
16 004 2014-01-05 0.503
Run Code Online (Sandbox Code Playgroud)
示例代码:
df <- data.frame(MRN = c('001','001','001','001', …Run Code Online (Sandbox Code Playgroud)