前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快来看看PharmaSUG-CN2024都有哪些内容

快来看看PharmaSUG-CN2024都有哪些内容

作者头像
归海刀刀
发布2024-09-17 12:42:20
810
发布2024-09-17 12:42:20
举报
文章被收录于专栏:归海刀刀

先用SAS 来提取Paper的标题,具体代码如下:

代码语言:javascript
复制
%macro paper(year=,outTxt=);
proc datasets nolist lib=work memtype=data kill; quit;
filename  fileref  url "https://www.lexjansen.com/cgi-bin/xsl_transform.php?x=pharmasug-cn&year.";
data html;
infile fileref length=len lrecl=32767;
input html_line $varying5000. len;
run;

data split_html;
  length category1 Title Href $500.;
  set html;
  pattern_href_title='s/href="(.*)">(.*)<\/a><br \/>/$1/o';
  prx_id=prxparse(pattern_href_title);
  prx_position=prxmatch(prx_id,html_line);
  href=prxposn(prx_id,1,html_line);
  title=prxposn(prx_id,2,html_line);

  if title="" then do;
    pattern_title='s/<span class="code">(.*)<\/span>(.*)<br \/>/$1/o';
    prx_id1=prxparse(pattern_title);
    prx_position1=prxmatch(prx_id1,html_line);
    title=prxposn(prx_id1,2,html_line);
  end;

  pattern_category='s/<a id=".*"><\/a><div class="stream"><span class="stream">(.*)<\/span><\/div>/$1/o';
  prx_id2=prxparse(pattern_category);
  prx_position1=prxmatch(prx_id2,html_line);
  category1=prxposn(prx_id2,1,html_line);
  category1=tranwrd(category1,'&amp;','&');
  title=tranwrd(title,'&amp;','&');
run;

data final_paper;
  retain Category;
  set split_html;
  if category1~="" then category=category1;
  if category~="" and title~="";
  keep category title href;
run;

proc export data =final_paper(keep=Title)
    outfile ="D:\1.File\0.Tool\10.sas_paper\&outTxt..txt"
    dbms =tab
    replace;
run ;
%mend;
%paper(year=2023,outTxt=Paper1);
%paper(year=2024,outTxt=Paper2);

用R语言的wordcloud包来画一下词云图,并和2023年的进行比较。

CN2023

CN2024

CN2023和CN2024独有部分

CN2023和CN2024共有部分

R语言代码参考链接:https://cloud.tencent.com/developer/article/1695559

代码语言:javascript
复制
options set=R_HOME='D:\Program Files\R-4.2.3';
proc iml;
submit / R;

library(NLP)
library(tm)
library(RColorBrewer)
library(wordcloud)

Paper1<-paste(scan("D:/1.File/0.Tool/10.sas_paper/Paper1.txt", what = character(0),sep = ""), collapse = " ") #读入TXT 文档1
Paper2<-paste(scan("D:/1.File/0.Tool/10.sas_paper/Paper2.txt", what = character(0),sep = ""), collapse = " ") #读入TXT 文档2
tmpText<- data.frame(c(Paper1, Paper2),row.names=c("Text1","Text2"))
df_title <- data.frame(doc_id=row.names(tmpText),
                       text=tmpText$c.Paper1..Paper2.)
ds <- DataframeSource(df_title)
#创建一个数据框格式的数据源,首列是文档id(doc_id),第二列是文档内容
corp <- VCorpus(ds)
#加载文档集中的文本并生成语料库文件
corp<- tm_map(corp,removePunctuation) #清除语料库内的标点符号
corp <- tm_map(corp,PlainTextDocument) #转换为纯文本
corp <- tm_map(corp,removeNumbers) #清除数字符号
corp <- tm_map(corp, function(x){removeWords(x,stopwords())}) #过滤停止词库
term.matrix <- TermDocumentMatrix(corp)
#利用TermDocumentMatrix()函数将处理后的语料库进行断字处理,生成词频权重矩阵

term.matrix <- as.matrix(term.matrix) #频率
colnames(term.matrix) <- c("Paper1","Paper2")
df<-data.frame(term.matrix)
write.csv(df,'D:/1.File/0.Tool/10.sas_paper/term_matrix.csv') #导出两篇文章的频率分析结果

df<-read.csv('D:/1.File/0.Tool/10.sas_paper/term_matrix.csv',header=TRUE,row.names=1)
#图3-9-3(a): 单篇文章Paper1数据的展示
png("D:/1.File/0.Tool/10.sas_paper/Paper1.png")
wordcloud(row.names(df) , df$Paper1 , min.freq=2,col=brewer.pal(8, "Dark2"), rot.per=0.3 )
dev.off()
#图3-9-3(b): 单篇文章Paper2数据的展示
png("D:/1.File/0.Tool/10.sas_paper/Paper2.png")
wordcloud(row.names(df) , df$Paper2 , min.freq=2,col=brewer.pal(8, "Dark2"), rot.per=0.3 )
dev.off()
#两篇文章数据的对比
#图3-9-4(a):两篇文章的独有部分
png("D:/1.File/0.Tool/10.sas_paper/Paper1_Paper2.png")
comparison.cloud(df,max.words=300,random.order=FALSE,colors=c("#00B2FF", "red"))
dev.off()
#图3-9-4(b):两篇文章的共有部分
png("D:/1.File/0.Tool/10.sas_paper/Paper1 and Paper2.png")
commonality.cloud(df,max.words=100,random.order=FALSE,color="#E7298A")
dev.off()
endsubmit;
run;

从数据上来看,许多单词都有同一个词根,目前没有处理,大致上来看都是围绕”临床“”编程“数据”分析“来起标题。

好了,至此,这篇文件也就水完了。

祝大家中秋节快乐!

尊敬的读者,首先感谢您对本篇文章的关注和阅读。在此,本小编想要说明的是,以上所述内容都是经过笔者认真整理和撰写的,但限于个人能力和知识水平等因素,难免存在疏漏或错误之处。如有不当之处,敬请包涵并指正,本小编将虚心接受您的批评与建议,并严谨修正文章。再次感谢您对本篇文章的支持与厚爱。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-09-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 归海刀刀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档