2022年5月19日星期四

日期值

日期值

日期值通常以字符串的形式输入到R中,然后转化为数值形式存储的日期变量。

函数as.Date()用以执行这种转化,它的语法为

as.Date(x "input_format")

其中x是字符型数据,input_format则给出了用于读入日期的适当格式

表4-4日期格式

符号含义示例
%d数字表示的日期(0-31)01~31
%a缩写的星期名Mon
%A非缩写的星期名Monday
%m月份(00~12)00~12
%b缩写的月份Jan
%B非缩写的月份January
%y两位数的年份07
%Y四位数的年份2007

日期值的默认输入格式为yyyy-mm-dd,语句将默认格式的字符型数据转换为对应日期

mydates <- as.Date(c("2007-06-22", "2004-02-13"))

相反,下面的语句使用mm/dd/yyyy格式读取数据

strDates <- c("01/05/1965", "08/16/1975")
dates <- as.Date(strDates, "%m/%d/%Y")

在leadership数据集中,日期是以mm/dd/yyyy的格式编码为字符型变量的。因此

myformat <- "%m/%d/%Y"
leadership$date <- as.Date(leadership$testDate, myformat)

有两个函数对于处理时间戳数据特别使用。

Sys.Date()

可以返回当天的日期

date()

返回当前的日期和时间

可以使用如下语句来输出指定格式的日期值,并且可以提取日期值中的某些部分

format(x, format = "output_format")

例如

today <- Sys.Date()
format(today, format = "%B %d %Y")
format(today, format = "%A")

R的内部在存储日期时,是使用自1970年1月1日依赖的天数表示的,更早的日期则表示为负数。这意味着可以在日期上执行算术运算。例如

stardate <- as.Date("2004-02-13")
enddate <- as.Date("2011-01-22")
days <- enddate - stardate
days

最后,也可以使用函数difftime()来计算时间间隔,并以星期、天、时、分、秒来表示。

today <-Sys.Date()
dob <- as.Date("1956-10-22")
difftime(today, dob, units = "weeks")

2022年5月18日星期三

重命名变量和缺失值

如果对现有的变量名称不满意,你可以交互第或者以编程的方式修改他们。

假设你希望将变量名manager修改为managerID,并将date修改为testDate,可以使用语句

fix(leadership)

上述命令可以调佣一个交互式编辑器。

若以变成方式,reshape包中有一个rename()函数,可用于修改变量名,rename()函数的使用格式为:

rename(dataframe, c(oldname = "newname", oldname = "newname", …))

阅读并理解下面的示例

library(reshape)
leadership <- rename(leadership,
                   c(manager = "managerID", date = "testDate"))

缺失值

在任何规模的项目中,数据都可能由于未作答问题、设备故障或误编码数据的缘故而不完整

在R中,缺失值以符号NA表示。不可能出现的值通过符号NaN来表示

R提供了一些函数,用于识别包含缺失值的观测。函数is.na()允许你检测缺失值是否存在。

假设你有一个向量:

y <- c(1, 2, 3, NA)

然后使用函数

is.na(y)

将返回

c(FALSE, FALSE, FALSE, TRUE)

可见,is.na()函数是作用于一个对象上的。它将返回一个相同大小的对象,如果某个元素是缺失值,相应的位置将被改写为TRUE,不是缺失值的位置则返回FALSE

重新编码某些值为缺失值

可以使用赋值语句将某些值重编码为缺失值

在分析中排除缺失值

在进一步的分析数据之前以某种方式删除这些缺失值。原因是,含有缺失值的算术表达式和函数的计算结果也是缺失值。如下代码:

x <-c(1, 2, NA, 3)

y <- x[1] + x[2] + x[3] + x[4]

z <- sum(x)

事实上y和z也是NA,请思考为什么?

多数的数值函数都有一个na.rm = TRUE选项,可以在计算之前移除缺失值并使用剩余的值进行计算

y <- sum(x, na.rm = TRUE)

这里y等于6

你可以通过na.omit()移除所有含有缺失值的观测,也就是说na.omit()会删除所有含有缺失数据的行。例如下面的代码,仔细体会其区别

leadership
newdata <- na.omit(leadership)
newdata

变量的重编码

变量的重编码

重编码涉及根据同一个变量和/或其他变量的现有值创建新值的过程

要重编码数据,客户似医用R中的一个或多个逻辑运算符

表4-3 逻辑运算符

运算符描述
<小于
<=小于或等于
>大于
>=大于或等于
==严格或等于
!=不等于
!x非x
x|yx或y
x&yx和y
isTRUE(x)测试x是否为TRUE

不妨假设你希望将leadership数据集中经理人连续性年龄变量age重编码为类别性变量agecat(Young、Middle Aged、Elder)。首先,必须将99岁年龄值重编码为缺失值,使用代码为

leadership$age[leadership$age == 99] <- NA

语句variable[condition] <- expression,将会仅在condition的值为TRUE是执行赋值。

在指定好年龄中的缺失值之后,你可以接着使用一下代码创建agecat变量

leadership$agecat[ladership$age > 75] <-"Elder"
ladership$agecat[ladership$age >= 55 & ladership$age <= 75] <-"Middle Aged"
ladership$agecat[ladership$age < 55] <-"Younger"

这段代码可以写成更紧凑的:

leadership <- within(leadership, {
   agecat <- NA
   agecat[age >75] <- "Elder"
   agecat[age >=55 & age <= 75] <- "middle Aged"
   agecat[age <55] <- "Younger"})

函数within()与函数with类似,不同的是它允许你修改数据框


脂肪组织巨噬细胞中的环氧合酶-2限制了肥胖小鼠的脂肪组织功能障碍

肥胖相关并发症在全球范围内导致发病率和死亡率增加。肥胖中脂肪组织的扩张导致低度慢性炎症和代谢失调,导致胰岛素抵抗和代谢综合征。脂肪组织巨噬细胞(Adipose tissue macrophage, ATM)在脂肪组织中积累,是进一步家中脂肪细胞功能障碍的促炎细胞因子的来源。巨噬细胞是环氧合酶(Cyclooxygenase, COX)的丰富来源,COX是前列腺素E2(PGE2)产生的限速酶。

当给小鼠喂食高脂肪饮食(High-Fat Diet,HFD)时,ATM会增加COX-2的表达。选择性骨髓细胞COX-2缺失导致单核细胞募集和ATM增殖增加,导致促炎ATM增加,吞噬能力降低。体重增加和肥胖增加,外周胰岛素敏感性和葡萄糖利用降低,脂肪组织炎症和纤维化增加,以及脂肪组织血管生成异常。HFD配对喂养导致体重类似增加,但具有选择性骨髓细胞COX-2的小鼠仍然表现出外周胰岛素敏感性和葡萄糖利用降低。巨噬细胞PGE2受体亚型EP4的选择性骨髓缺失产生了类似的表型,选择性EP4激动剂改善了ATM COX-2缺失所见的代谢异常。

总之,本研究表明ATM COX-2/PGE2/EP4轴在抑制脂肪组织功能障碍中起重要作用。

2022年5月16日星期一

创建新变量


在典型的研究项目中,你可能需要创建新变量或者对现有的变量进行变换,其语句为

变量名←表达式

表4-2 算术运算符

运算符描述
+
-
*
/
^或**取幂
x%%y取余数
x%/%y整除

假设你有一个名为mydata的数据框,其中变量为x1和x2,现在你想创建一个新变量sumx存储以上两个变量的加和,并创建一个名为meanx的新变量存储这两个变量的均值:

mydata <-data.frame(x1 = c(2,2,4,4), x2 = c(3,4,2,8))
mydata$sumx <- mydata$x1 + mydata$x2
mydata$meanx <- (mydata$x1 + mydata$x2)/2

attach(mydata)
mydata$sumx < x1 + x2
mydata$meanx <(x1 + x2)/2
detach(mydata)
mydata <- transform(mydata, sumx = x1 + x2, meanx = (x1+x2)/2)

NLRP3炎症小体介导的细胞焦亡通路有助于白色念珠菌角膜炎发病的病理机制

目的:真菌性角膜炎是一种由真菌病原体引起的危及视力的角膜感染,其致病机制尚未完全阐明。本研究的目的是确定含有3型炎症小体(NLRP3)介导的细胞焦亡是否会导致白色年度剧角膜炎的NOD样受体家族pyrin结构域并探索其潜在机制。

方法:建立白色念珠菌角膜炎小鼠模型和热灭活白色念珠菌(HKCA)激发的人角膜上皮细胞(HCECs)体外培养模型。通过临床评分评估角膜感染的程度。使用RT-PCR评估基因表达,并进行Western blot或免疫荧光评估蛋白质表达。进行TUNEL染色以检查细胞焦亡,进行LDH释放测定以评估细胞毒性。

结果:对假模型对照相比,白念模型角膜中NLRP3、Caspase-1、IL-1β、GSDMD的mRNA水平显著升高。NLRP3的蛋白质表达和含有CARD(ASC)的细胞焦亡相关标志物凋亡相关瘢点样蛋白、劈裂的CASP1、劈裂的N-GSDMD、劈裂的IL-1β和劈裂的IL-18以及细胞焦亡在白色念珠菌角膜炎的小鼠模型中显著增加。更重要的是,NLRP3敲低显著减轻了焦亡,从而减少了白色念珠菌角膜炎的角膜炎症反应。在体外,暴露于HKCA的HCEC中验证了活化的NLRP3炎症小体和细胞焦亡的存在。此外,钾(K+)通道抑制剂格列本脲可以减低暴露于HKCA的HCEC中的LDH释放并抑制NLRP3活化和细胞焦亡。

结论:总之,目前的研究首次揭示了在白色念珠菌感染的小鼠角膜和HCECs中发生了NLRP3炎症小体激活和细胞焦亡。此外,NLRP3炎症小体介导的稀薄啊焦亡信号与白色念珠菌角膜炎的疾病严重程度有关。因此,这种NLRP3炎症小体依赖性途径可能是治疗真菌性角膜炎的一个有吸引力的靶点。

硫酸软骨素对烟曲霉角膜炎的治疗潜力


目的:探讨硫酸软骨素(CS)对烟曲霉菌型角膜炎的治疗作用。

方法:使用Draize眼实验和细胞计数试剂盒-8测定硫酸软骨素的无毒浓度。细胞划痕实验和细胞增殖实验评价了硫酸软骨素对人角膜上皮细胞(HCECs)的增殖迁移的影响。粘附实验和平板计数分别用于检测体内和体外的真菌负荷。临床拼分和HE染色用于评估硫酸软骨素在烟曲霉菌型角膜炎小鼠模型中的治疗效果。用过流式细胞术(FCM)、免疫荧光染色和MPO测定中性粒细胞浸润和活性。通过免疫荧光染色检测RAW264.7细胞和小鼠角膜中TLR-4的表达。应用RT-PCR和ELISA检查炎性介质的表达。

结果:400μg/mL(无细胞毒性)的硫酸软骨素显著促进HCEC的增殖和迁移。在烟曲霉菌角膜炎小鼠模型中,硫酸软骨素治疗降低了真菌性角膜炎的严重程度并且减少了角膜真菌负载量并且抑制了中性粒细胞浸润。siTLR-4的RAW264.7细胞中,TLR-4、 pNF-κB、IL-1β、IL-6、TNF-α、COX-2和MIP-2的mRNA水平显著降低,而在更好的rTLR-4处理组中,表达比对照组显著增加。硫酸软骨素处理处理抑制rTLR-4诱导TLR-4, p-NF-κB, IL-1β, IL-6, COX-2, TNF-α, and MIP-2的核酸和蛋白表达。

结论:硫酸软骨素可能通过促进角膜上皮增殖、抑制中性粒细胞募集和活性、通过下调TLR-4/NF-κB信号通路抑制炎症反应来改善曲霉菌性角膜炎的预后