博文

R json解析

 library(jsonlite) ch1 <- fromJSON('/mnt/c/Users/xuefliang/Desktop/622921201605302722(1).txt') ch2 <- fromJSON('/mnt/c/Users/xuefliang/Desktop/622927202110102510(1).txt') ch3 <- fromJSON('/mnt/c/Users/xuefliang/Desktop/622921202303047214(1).txt') ch4 <- fromJSON('/mnt/c/Users/xuefliang/Desktop/622921202403302112(1).txt') ch5 <- fromJSON('/mnt/c/Users/xuefliang/Desktop/622921202403011825(1).txt') person1 <- as_tibble(ch1$data$PersonInfoList) person2 <- as_tibble(ch2$data$PersonInfoList) person3 <- as_tibble(ch3$data$PersonInfoList) person4 <- as_tibble(ch4$data$PersonInfoList) person5 <- as_tibble(ch5$data$PersonInfoList) person <- bind_rows(person1,person2,person3,person4,person5) vaccination <- person %>%   unnest(VaccinationInfoList) %>%    mutate(EntryDate=ymd_hms(EntryDate),UpdateDate=ymd_hms(UpdateDate),UplodeDate=ymd_hms(UplodeDate)) %>%    mutate(scjs = case_when(     difftime(UplodeDate, EntryD...

按疫苗类别接种剂次排序后重新赋值

    def hbv ( self ):         df = self . _df         df .query( "vaccination_code in ['0201', '0202', '0203']" , inplace = True )         df [ 'vaccine_name' ] = '乙肝疫苗'         df = df .groupby( 'id_x' , group_keys = False ).apply(             lambda x : x .sort_values( by = 'vaccination_date' , ascending = True )             .assign( jc = range ( 1 , len ( x ) + 1 ))             .reset_index( drop = True )         )         return df bind_rows(jzjl,jzjl2) %>% mutate(mc = if_else(mc %in% c('麻腮风疫苗', '麻风疫苗'), '含麻疹成分疫苗', mc)) %>% filter(mc=='含麻疹成分疫苗') %>% group_by(grda_code) %>% arrange(jz_sj) %>% mutate(jz_zc = row_number()) ->tmp1

接种月龄计算

 brk <- read_csv("/mnt/c/Users/xuefeng/Desktop/brk.csv",locale = locale(encoding = 'GB18030')) %>%    clean_names() %>%    mutate(jz_sj=ymd_hms(jz_sj),csrq=ymd(csrq),jzyl = interval(csrq, jz_sj) %/% months(1),shi=str_sub(gldw_bm,1,4)) brk %>%    filter(csrq <= ymd('2023-12-30') & jz_zc == 1) %>%    group_by(shi) %>%    summarise(count = n(),             jzyl_3 = sum(jzyl == 3,na.rm = T),jzyl_3/count*100) %>%    writexl::write_xlsx("/mnt/c/Users/xuefeng/Desktop/brk2024_3.xlsx") import pandas as pd import numpy as np import janitor from pandas . tseries . offsets import MonthEnd from datetime import datetime brk = pd . read_csv ( "/mnt/c/Users/xuefeng/Desktop/brk.csv" , encoding = 'GB18030' ) brk = (     brk     . rename ( columns = lambda x : x .lower().replace( ' ' , '_' ))     . assign ( jz_sj = lambda df : pd . to_d...

office 激活

 irm https://massgrave.dev/get | iex 

docker 安装 ollama

 docker run -d --gpus=all -e OLLAMA_ORIGINS="*" -v /root/.ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama docker exec -it ollama ollama run gemma:7b docker exec -it ollama ollama pull nomic-embed-text:latest

spyder 启动

 dbus-launch ibus-daemon -drx spyder

单位名称相似判断

 # 安装和加载stringdist包 install.packages("stringdist") library(stringdist) # 定义字符串 str1 <- "疾控中心" str2 <- "疾病预防控制中心" str1 <- "卫健委" str2 <- "卫生健康委员会" # 计算 Jaro-Winkler 距离 jw_distance <- stringdist(str1, str2, method = "jaccard") # 自定义字符串相似度计算函数 custom_similarity <- function(str1, str2) {   # 将字符串转换为字符向量   chars1 <- strsplit(str1, "")[[1]]   chars2 <- strsplit(str2, "")[[1]]      # 获取字符向量的长度   len1 <- length(chars1)   len2 <- length(chars2)      # 如果 str1 比 str2 长,则交换它们的位置   if (len1 > len2) {     temp <- chars1     chars1 <- chars2     chars2 <- temp     len1 <- length(chars1)     len2 <- length(chars2)   }      # 检查 chars1 中的字符是否按顺序出现在 chars2 中   index <- 1   match_count <- 0   for (i in 1:len1) {     found <- FALSE     for (j in index:len2) {       if ...