与其他双方等价交换方式不一样,医生首先在医疗知识、信息、技能这类绝对稀缺的资源上比患者占有不可逾越的优势,这就是医患关系的第一个不对等。病人找医生看病,因为医生比病人懂得多(理都懂),所以病人将购买何种药物或服务的决定权交给了医生,而医生同时又代表医院(或医院背后的厂家)将药品卖给病人,所以买卖双方的权利都在于医生一身。背后是强大的医院厂家,如果医生在这种交易模式下不骗患者这类傻瓜,在理性上讲医生自己就是成了傻瓜。有人会说还有道德底线呢,请注意我说的是在交易模式下依据人类本性的决策方式,话说回来,道德是最容易腐败的东西。
解决方案就是给二者之间寻找第三方,于是我们出现了一个第三方:医保部门。医保部门承担大量的医疗费用,它代表病人,理应从病人的利益思考问题,但是从它自身考虑,会购买廉价的药物和服务而忽视质量和疗效,所以只有一家第三方是不够的,病人还要有选择第三方的权利才能充分保证自身利益。
于是在现在模式下,常常出现令文明世界惭愧的医暴、医闹事件,当然这个世界上还是有大量的刁民,还是有很多飞扬跋扈的官家,还是有很多为富不仁的商人,但是也会有心情和态度不好的医生。暴力是弱者的惯用方式,因为无法通过其他优势获得利益诉求,往往在利益分配上处于下风,所以在双方关系中往往是各方面都比较弱势的一方首先诉诸最为原始的暴力手段解决问题。中国是一个同情弱者的文化环境,而每次医患关系紧张遭到谴责最多的却是弱势的患者,人们只看到了表面上患者的暴力强势,而忽视了另外一方在知识、信息、资源、心理、交易地位等等方面的绝对优势。
白衣天使很辛苦,应该不应该给予理解?应该,但这里有一个故事。菲律宾与中国比较,前者是一个落后贫穷的国家。我在菲律宾多次陪拙荆去看儿科、妇科(每次不同的医生),医生态度非常礼貌,每次解答服务都细致入微,医生的房间里往往排放一些儿童玩具共儿童玩耍(转移儿童注意力)。我曾给他们讲起我国的医患关系,有一个医生说医生提供的是服务,病人花钱来购买服务(看病),我们医生只有保证自己的服务质量才是基本的职业道德,因为你的服务不好,就等于卖给了病人假货,这是欺骗。是的,我至今对那个医生的话记忆犹新,除了白衣天使,各行各业都很辛苦,而我们正是通过辛苦的结晶(价值)进行交换、交易的,又怎么好意思再以辛苦博得同情呢。
突然间发现说了那么多废话,不过也帮助大家了解一个陌生市场的基本矛盾,书归正传话归正题,今天我们要学习一下抓取上市医药公司的报表数据,druganalyst(http://consensus.druganalyst.com/)公布了欧美大型上市医药企业大量的药品数据,这里就尝试将该网站所有的药品数据抓取下来,以供本书相关分析章节使用。
#####载入数据包
- if (!suppressWarnings(require(RCurl))) {
- install.packages("RCurl")
- require(RCurl)
- }
- if (!suppressWarnings(require(XML))) {
- install.packages("XML")
- require(XML)
- }
- if (!suppressWarnings(require(stringr))) {
- install.packages("stringr")
- require(stringr)
- }
- if (!suppressWarnings(require("ggplot2"))) {
- install.packages("ggplot2")
- require("ggplot2")
- }
- if (!suppressWarnings(require("reshape2"))) {
- install.packages("reshape2")
- require("reshape2")
- }
- if (!suppressWarnings(require("plyr"))) {
- install.packages("plyr")
- require("plyr")
- }
- if (!suppressWarnings(require("grid"))) {
- install.packages("grid")
- require("grid")
- }
- if (!suppressWarnings(require("gridExtra"))) {
- install.packages("gridExtra")
- require("gridExtra")
- }
- if (!suppressWarnings(require("extrafont"))){
- install.packages("extrafont")
- require("extrafont")
- }
依然采取顺藤摸瓜的策略,抓取这个数据我们分为三步:首先抓取医药公司名称,制作成表格备用;第二步根据公司名称查询公司名下的所有药品名称;最后根据药品名称查询药品历年的销售明细及其它药品相关说明信息。
#####第一步抓取公司名称
- company <- "http://consensus.druganalyst.com/AstraZeneca/Drugs/"
- company <- getURL(company, .encoding="UTF-8")
- company <- htmlParse(company, asText = TRUE, encoding = "UTF-8", useInternalNodes = TRUE )
- comroot <- xmlRoot(company)
- company <- xpathSApply(comroot, "//div[@id='menuContainer']/div[@id='menuCompanies']/div/ul/li/a")
- Actelion Novartis
- AstraZeneca Novo Nordisk
- Bayer Qiagen
- BTG Roche
- Fresenius Sanofi
- FMC Shire
- Glaxo Stada
- Grifols UCB
- Ipsen Vectura
- Lundbeck AbbVie
- Merck KGaA Achillion
上述代码的前四步就不再赘述了,首先下载网页,然后`htmlParse`函数解析,在使用xmlRoot函数提取根节点。使用浏览器的“审查元素”功能,找到公司名称在路径`div[@id='menuContainer']/div[@id='menuCompanies']/div/ul/li/a`下,因此`xpathSApply`函数提取所有该路径下的节点,到这里目标内容已经全部存储在`company`里了。
关于我们
关注理性与文艺,用数据创作内容性的精致阅读。
交流QQ:1147234143
QQ交流群:105646151
微博:大音如霜
微信公众号:大音如霜