文献解读:纵向数据的测量不变性和交叉滞后模型(二)

接着之前的文章文献解读:纵向数据的测量不变性和交叉滞后模型(一)

我们今天继续文献解读,上次说到了我们通过验证性因子分析已经得到我们的数据是符合构形不变性的,我们可以继续检验测量不变性的下一个水平单位等值(Metric invariance)。

单位等值(Metric invariance)设定

上篇文章已经讲了,单位等值这个水平要求测量因子与条目之间的关系——因子负荷(factor loading)是相等的,所以我们需要在之前模型的基础上再将所有不同时间相同因子的载荷设置为一样,代码如下:

metric.v1 <-
'
# PSP 因子载荷

PSP.7 =~ psp1f*psp1.7 + psp2f*psp2.7 + psp3f*psp3.7
PSP.8 =~ psp1f*psp1.8 + psp2f*psp2.8 + psp3f*psp3.8
PSP.9 =~ psp1f*psp1.9 + psp2f*psp2.9 + psp3f*psp3.9
PSP.10 =~ psp1f*psp1.10 + psp2f*psp2.10 + psp3f*psp3.10
PSP.11 =~ psp1f*psp1.11 + psp2f*psp2.11 + psp3f*psp3.11

# PSP 方差固定为1

PSP.7 ~~ 1*PSP.7
PSP.8 ~~ 1*PSP.8
PSP.9 ~~ 1*PSP.9
PSP.10 ~~ 1*PSP.10
PSP.11 ~~ 1*PSP.11

# SSA 因子载荷

SSA.7 =~ ssa1f*ssa1.7 + ssa2f*ssa2.7 + ssa3f*ssa3.7 + 
         ssa4f*ssa4.7 + ssa5f*ssa5.7 + ssa6f*ssa6.7 + ssa7f*ssa7.7

SSA.8 =~ ssa1f*ssa1.8 + ssa2f*ssa2.8 + ssa3f*ssa3.8 + 
         ssa4f*ssa4.8 + ssa5f*ssa5.8 + ssa6f*ssa6.8 + ssa7f*ssa7.8

SSA.9 =~ ssa1f*ssa1.9 + ssa2f*ssa2.9 + ssa3f*ssa3.9 + 
         ssa4f*ssa4.9 + ssa5f*ssa5.9 + ssa6f*ssa6.9 + ssa7f*ssa7.9

SSA.10 =~ ssa1f*ssa1.10 + ssa2f*ssa2.10 + ssa3f*ssa3.10 + 
          ssa4f*ssa4.10 + ssa5f*ssa5.10 + ssa6f*ssa6.10 + ssa7f*ssa7.10

SSA.11 =~ ssa1f*ssa1.11 + ssa2f*ssa2.11 + ssa3f*ssa3.11 + 
          ssa4f*ssa4.11 + ssa5f*ssa5.11 + ssa6f*ssa6.11 + ssa7f*ssa7.11

# SSA方差固定为 1

SSA.7 ~~ 1*SSA.7
SSA.8 ~~ 1*SSA.8
SSA.9 ~~ 1*SSA.9
SSA.10 ~~ 1*SSA.10
SSA.11 ~~ 1*SSA.11
'
metric.model <- paste(metric.v1, errorstructure, sep = ' ', collapse = NULL)

大家注意,在上面的模型设定中我们通过使用相同的标签使得不同时间测量数据的因子载荷相同。拟合这个模型我们就可以得到相应的拟合指数,但是我先不拟合,我把其他两个测量不变性的水平先设定好,然后直接作比较就行。

尺度等值(Scalar invariance)设定

尺度等值要求因子载荷和条目截距在不同时间的测量中相同,所以我们需要进一步在单位等值的基础上将条目截距限制住。

代码如下:

scalar.v1 <-
'
# 固定条目截距

psp1.7 ~ psp1i*1
psp1.8 ~ psp1i*1
psp1.9 ~ psp1i*1
psp1.10 ~ psp1i*1
psp1.11 ~ psp1i*1

psp2.7 ~ psp2i*1
psp2.8 ~ psp2i*1
psp2.9 ~ psp2i*1
psp2.10 ~ psp2i*1
psp2.11 ~ psp2i*1

psp3.7 ~ psp3i*1
psp3.8 ~ psp3i*1
psp3.9 ~ psp3i*1
psp3.10 ~ psp3i*1
psp3.11 ~ psp3i*1

ssa1.7 ~ ssa1i*1
ssa1.8 ~ ssa1i*1
ssa1.9 ~ ssa1i*1
ssa1.10 ~ ssa1i*1
ssa1.11 ~ ssa1i*1

ssa2.7 ~ ssa2i*1
ssa2.8 ~ ssa2i*1
ssa2.9 ~ ssa2i*1
ssa2.10 ~ ssa2i*1
ssa2.11 ~ ssa2i*1

ssa3.7 ~ ssa3i*1
ssa3.8 ~ ssa3i*1
ssa3.9 ~ ssa3i*1
ssa3.10 ~ ssa3i*1
ssa3.11 ~ ssa3i*1

ssa4.7 ~ ssa4i*1
ssa4.8 ~ ssa4i*1
ssa4.9 ~ ssa4i*1
ssa4.10 ~ ssa4i*1
ssa4.11 ~ ssa4i*1

ssa5.7 ~ ssa5i*1
ssa5.8 ~ ssa5i*1
ssa5.9 ~ ssa5i*1
ssa5.10 ~ ssa5i*1
ssa5.11 ~ ssa5i*1

ssa6.7 ~ ssa6i*1
ssa6.8 ~ ssa6i*1
ssa6.9 ~ ssa6i*1
ssa6.10 ~ ssa6i*1
ssa6.11 ~ ssa6i*1

ssa7.7 ~ ssa7i*1
ssa7.8 ~ ssa7i*1
ssa7.9 ~ ssa7i*1
ssa7.10 ~ ssa7i*1
ssa7.11 ~ ssa7i*1
'
scalar.model <- paste(metric.v1, errorstructure, scalar.v1, sep = ' ', collapse = NULL)

大家注意,固定条目截距是通过一个标签*1实现的。

严格等值( Strict Invariance)设定

最后一个水平就是严格等值,我们需要在尺度等值的基础上让因子预测条目的残差在不同时间的测量中相等。

代码如下:

residual.v1 <-
'
# 将不同时间测量的残差固定

psp1.7 ~~ psp1u*psp1.7
psp1.8 ~~ psp1u*psp1.8
psp1.9 ~~ psp1u*psp1.9
psp1.10 ~~ psp1u*psp1.10
psp1.11 ~~ psp1u*psp1.11

psp2.7 ~~ psp2u*psp2.7
psp2.8 ~~ psp2u*psp2.8
psp2.9 ~~ psp2u*psp2.9
psp2.10 ~~ psp2u*psp2.10
psp2.11 ~~ psp2u*psp2.11

psp3.7 ~~ psp3u*psp3.7
psp3.8 ~~ psp3u*psp3.8
psp3.9 ~~ psp3u*psp3.9
psp3.10 ~~ psp3u*psp3.10
psp3.11 ~~ psp3u*psp3.11

ssa1.7 ~~ ssa1u*ssa1.7
ssa1.8 ~~ ssa1u*ssa1.8
ssa1.9 ~~ ssa1u*ssa1.9
ssa1.10 ~~ ssa1u*ssa1.10
ssa1.11 ~~ ssa1u*ssa1.11

ssa2.7 ~~ ssa2u*ssa2.7
ssa2.8 ~~ ssa2u*ssa2.8
ssa2.9 ~~ ssa2u*ssa2.9
ssa2.10 ~~ ssa2u*ssa2.10
ssa2.11 ~~ ssa2u*ssa2.11

ssa3.7 ~~ ssa3u*ssa3.7
ssa3.8 ~~ ssa3u*ssa3.8
ssa3.9 ~~ ssa3u*ssa3.9
ssa3.10 ~~ ssa3u*ssa3.10
ssa3.11 ~~ ssa3u*ssa3.11

ssa4.7 ~~ ssa4u*ssa4.7
ssa4.8 ~~ ssa4u*ssa4.8
ssa4.9 ~~ ssa4u*ssa4.9
ssa4.10 ~~ ssa4u*ssa4.10
ssa4.11 ~~ ssa4u*ssa4.11

ssa5.7 ~~ ssa5u*ssa5.7
ssa5.8 ~~ ssa5u*ssa5.8
ssa5.9 ~~ ssa5u*ssa5.9
ssa5.10 ~~ ssa5u*ssa5.10
ssa5.11 ~~ ssa5u*ssa5.11

ssa6.7 ~~ ssa6u*ssa6.7
ssa6.8 ~~ ssa6u*ssa6.8
ssa6.9 ~~ ssa6u*ssa6.9
ssa6.10 ~~ ssa6u*ssa6.10
ssa6.11 ~~ ssa6u*ssa6.11

ssa7.7 ~~ ssa7u*ssa7.7
ssa7.8 ~~ ssa7u*ssa7.8
ssa7.9 ~~ ssa7u*ssa7.9
ssa7.10 ~~ ssa7u*ssa7.10
ssa7.11 ~~ ssa7u*ssa7.11

'
residual.model <- paste(metric.v1, errorstructure, scalar.v1, 
                        residual.v1, sep = ' ', collapse = NULL)

大家注意,对于残差的固定也是通过标签实现的。

模型选择

到现在我们把我们的数据的测量不变性的4个水平都进行了设定,接下来要做的就是看看数据到底符合测量不变性的哪个水平。这个就叫做模型选择。

round(cbind(configural.error=inspect(configural.fit, 'fit.measures'),
            metric=inspect(metric.fit, 'fit.measures'),
            scalar=inspect(scalar.fit, 'fit.measures'),
            residual=inspect(residual.fit, 'fit.measures')),3)

anova(configural.fit, metric.fit)
anova(metric.fit, scalar.fit)
anova(scalar.fit, residual.fit)

注意对于模型之间的比较,我们用的是卡方检验。

输出的结果汇总如下图

文献解读:纵向数据的测量不变性和交叉滞后模型(二)

从图中的结果就可以发现,我们的数据是符合严格等值的。严格等值同时也是最简约的模型。

对于上面的模型拟合优度解读,再多说几句,首先是Δ卡方,这个指数是比较两个模型的loglikelihood的,比较的时候的统计量是Δ卡方,它是服从卡方分布的,p值大于0.05就说明两个模型没有显著性差异,这个时候我们就应该选择最简单的模型,所以,单看Δ卡方我们应该选择单位等值模型型。

再看ΔAIC和ΔBIC这两个指标都是越小越好,一般两个模型的AIC或者BIC差异达到6我们就认为两模型有差异,这样的话看ΔAIC我们应该选择尺度等值,看ΔBIC的话我们应该选择严格等值。

还有一个指标CFL,这个指标差异超过0.01才认为有显著差异,所以光看这个指标我们认为图中的模型3和模型4都是没有差异的,所以应该选择较为简洁的模型4。

可以看到,模型拟合指数常常给出矛盾的结果,这个时候大家可以依照上面的判断方法自行选择。这也是作者给出的建议:

In case of such potential conflicts, we therefore recommend the researcher decide which model aspect they deem most important (e.g., goodness of fit, number of estimated parameters, sample size), and decide a priori which fit index to use to determine their final model

考虑到较多的指标都支持了严格等值模型,所以我们最终认为严格等值模型是最好的。

接下来我们就可以拟合交叉滞后模型啦。

传统交叉滞后模型

首先我们拟合一个只能从时间t预测时间t+1的交叉滞后模型

代码如下:

sem.v1 <-
'
# 设定结构路径

SSA.8 ~ A*SSA.7 + C*PSP.7
PSP.8 ~ D*SSA.7 + B*PSP.7
SSA.9 ~ A*SSA.8 + C*PSP.8
PSP.9 ~ D*SSA.8 + B*PSP.8
SSA.10 ~ A*SSA.9 + C*PSP.9
PSP.10 ~ D*SSA.9 + B*PSP.9
SSA.11 ~ A*SSA.10 + C*PSP.10
PSP.11 ~ D*SSA.10 + B*PSP.10

# 设定因子共变

SSA.7 ~~ PSP.7
SSA.8 ~~ PSP.8
SSA.9 ~~ PSP.9
SSA.10 ~~ PSP.10
SSA.11 ~~ PSP.11
'
residual.sem.model <- paste(residual.model, sem.v1, sep = ' ', collapse = NULL)

看结果:

文献解读:纵向数据的测量不变性和交叉滞后模型(二)

从图中看出,部分结果,比如说RMSEA其实不太好。

这个模型的图示如下:

文献解读:纵向数据的测量不变性和交叉滞后模型(二)

因为这个模型把跨时间的预测关系固定为0了,所以不太好,提示我们有可能t时间的变量可能会预测t+2,或者t+3时间的变量。如果跨时预测成立有可能模型拟合就会更好,但这篇文章不做讨论。

随机截距交叉滞后模型

这个模型相比传统的交叉滞后来讲,主要变化有:

  • 略去了残差相关
  • 每个条目都加了随机截距
  • 随机截距之间可以共变
  • 因子可以跨时预测
文献解读:纵向数据的测量不变性和交叉滞后模型(二)

上图是一个带有随机截距的交叉滞后模型示意图。

要拟合这么一个模型,代码如下:

sem.v2 <-
'
# 给每个条目加随机截距

RI.PSP1 =~ 1*psp1.7 + 1*psp1.8 + 1*psp1.9 + 1*psp1.10 + 1*psp1.11 
RI.PSP2 =~ 1*psp2.7 + 1*psp2.8 + 1*psp2.9 + 1*psp2.10 + 1*psp2.11 
RI.PSP3 =~ 1*psp3.7 + 1*psp3.8 + 1*psp3.9 + 1*psp3.10 + 1*psp3.11 

RI.SSA1 =~ 1*ssa1.7 + 1*ssa1.8 + 1*ssa1.9 + 1*ssa1.10 + 1*ssa1.11 
RI.SSA2 =~ 1*ssa2.7 + 1*ssa2.8 + 1*ssa2.9 + 1*ssa2.10 + 1*ssa2.11 
RI.SSA3 =~ 1*ssa3.7 + 1*ssa3.8 + 1*ssa3.9 + 1*ssa3.10 + 1*ssa3.11 
RI.SSA4 =~ 1*ssa4.7 + 1*ssa4.8 + 1*ssa4.9 + 1*ssa4.10 + 1*ssa4.11 
RI.SSA5 =~ 1*ssa5.7 + 1*ssa5.8 + 1*ssa5.9 + 1*ssa5.10 + 1*ssa5.11 
RI.SSA6 =~ 1*ssa6.7 + 1*ssa6.8 + 1*ssa6.9 + 1*ssa6.10 + 1*ssa6.11 
RI.SSA7 =~ 1*ssa7.7 + 1*ssa7.8 + 1*ssa7.9 + 1*ssa7.10 + 1*ssa7.11 

# 固定载荷,不同时间载荷一样

PSP.7 =~ psp1f*psp1.7 + psp2f*psp2.7 + psp3f*psp3.7
PSP.8 =~ psp1f*psp1.8 + psp2f*psp2.8 + psp3f*psp3.8
PSP.9 =~ psp1f*psp1.9 + psp2f*psp2.9 + psp3f*psp3.9
PSP.10 =~ psp1f*psp1.10 + psp2f*psp2.10 + psp3f*psp3.10
PSP.11 =~ psp1f*psp1.11 + psp2f*psp2.11 + psp3f*psp3.11

# 固定方差为 1

PSP.7 ~~ 1*PSP.7
PSP.8 ~~ 1*PSP.8
PSP.9 ~~ 1*PSP.9
PSP.10 ~~ 1*PSP.10
PSP.11 ~~ 1*PSP.11

# 固定因子载荷

SSA.7 =~ ssa1f*ssa1.7 + ssa2f*ssa2.7 + ssa3f*ssa3.7 + 
         ssa4f*ssa4.7 + ssa5f*ssa5.7 + ssa6f*ssa6.7 + ssa7f*ssa7.7

SSA.8 =~ ssa1f*ssa1.8 + ssa2f*ssa2.8 + ssa3f*ssa3.8 + 
         ssa4f*ssa4.8 + ssa5f*ssa5.8 + ssa6f*ssa6.8 + ssa7f*ssa7.8

SSA.9 =~ ssa1f*ssa1.9 + ssa2f*ssa2.9 + ssa3f*ssa3.9 + 
         ssa4f*ssa4.9 + ssa5f*ssa5.9 + ssa6f*ssa6.9 + ssa7f*ssa7.9

SSA.10 =~ ssa1f*ssa1.10 + ssa2f*ssa2.10 + ssa3f*ssa3.10 + 
          ssa4f*ssa4.10 + ssa5f*ssa5.10 + ssa6f*ssa6.10 + ssa7f*ssa7.10

SSA.11 =~ ssa1f*ssa1.11 + ssa2f*ssa2.11 + ssa3f*ssa3.11 + 
          ssa4f*ssa4.11 + ssa5f*ssa5.11 + ssa6f*ssa6.11 + ssa7f*ssa7.11

# 固定方差 1

SSA.7 ~~ 1*SSA.7
SSA.8 ~~ 1*SSA.8
SSA.9 ~~ 1*SSA.9
SSA.10 ~~ 1*SSA.10
SSA.11 ~~ 1*SSA.11

# 固定截距

psp1.7 ~ psp1i*1
psp1.8 ~ psp1i*1
psp1.9 ~ psp1i*1
psp1.10 ~ psp1i*1
psp1.11 ~ psp1i*1

psp2.7 ~ psp2i*1
psp2.8 ~ psp2i*1
psp2.9 ~ psp2i*1
psp2.10 ~ psp2i*1
psp2.11 ~ psp2i*1

psp3.7 ~ psp3i*1
psp3.8 ~ psp3i*1
psp3.9 ~ psp3i*1
psp3.10 ~ psp3i*1
psp3.11 ~ psp3i*1

ssa1.7 ~ ssa1i*1
ssa1.8 ~ ssa1i*1
ssa1.9 ~ ssa1i*1
ssa1.10 ~ ssa1i*1
ssa1.11 ~ ssa1i*1

ssa2.7 ~ ssa2i*1
ssa2.8 ~ ssa2i*1
ssa2.9 ~ ssa2i*1
ssa2.10 ~ ssa2i*1
ssa2.11 ~ ssa2i*1

ssa3.7 ~ ssa3i*1
ssa3.8 ~ ssa3i*1
ssa3.9 ~ ssa3i*1
ssa3.10 ~ ssa3i*1
ssa3.11 ~ ssa3i*1

ssa4.7 ~ ssa4i*1
ssa4.8 ~ ssa4i*1
ssa4.9 ~ ssa4i*1
ssa4.10 ~ ssa4i*1
ssa4.11 ~ ssa4i*1

ssa5.7 ~ ssa5i*1
ssa5.8 ~ ssa5i*1
ssa5.9 ~ ssa5i*1
ssa5.10 ~ ssa5i*1
ssa5.11 ~ ssa5i*1

ssa6.7 ~ ssa6i*1
ssa6.8 ~ ssa6i*1
ssa6.9 ~ ssa6i*1
ssa6.10 ~ ssa6i*1
ssa6.11 ~ ssa6i*1

ssa7.7 ~ ssa7i*1
ssa7.8 ~ ssa7i*1
ssa7.9 ~ ssa7i*1
ssa7.10 ~ ssa7i*1
ssa7.11 ~ ssa7i*1

# 固定残差

psp1.7 ~~ psp1u*psp1.7
psp1.8 ~~ psp1u*psp1.8
psp1.9 ~~ psp1u*psp1.9
psp1.10 ~~ psp1u*psp1.10
psp1.11 ~~ psp1u*psp1.11

psp2.7 ~~ psp2u*psp2.7
psp2.8 ~~ psp2u*psp2.8
psp2.9 ~~ psp2u*psp2.9
psp2.10 ~~ psp2u*psp2.10
psp2.11 ~~ psp2u*psp2.11

psp3.7 ~~ psp3u*psp3.7
psp3.8 ~~ psp3u*psp3.8
psp3.9 ~~ psp3u*psp3.9
psp3.10 ~~ psp3u*psp3.10
psp3.11 ~~ psp3u*psp3.11

ssa1.7 ~~ ssa1u*ssa1.7
ssa1.8 ~~ ssa1u*ssa1.8
ssa1.9 ~~ ssa1u*ssa1.9
ssa1.10 ~~ ssa1u*ssa1.10
ssa1.11 ~~ ssa1u*ssa1.11

ssa2.7 ~~ ssa2u*ssa2.7
ssa2.8 ~~ ssa2u*ssa2.8
ssa2.9 ~~ ssa2u*ssa2.9
ssa2.10 ~~ ssa2u*ssa2.10
ssa2.11 ~~ ssa2u*ssa2.11

ssa3.7 ~~ ssa3u*ssa3.7
ssa3.8 ~~ ssa3u*ssa3.8
ssa3.9 ~~ ssa3u*ssa3.9
ssa3.10 ~~ ssa3u*ssa3.10
ssa3.11 ~~ ssa3u*ssa3.11

ssa4.7 ~~ ssa4u*ssa4.7
ssa4.8 ~~ ssa4u*ssa4.8
ssa4.9 ~~ ssa4u*ssa4.9
ssa4.10 ~~ ssa4u*ssa4.10
ssa4.11 ~~ ssa4u*ssa4.11

ssa5.7 ~~ ssa5u*ssa5.7
ssa5.8 ~~ ssa5u*ssa5.8
ssa5.9 ~~ ssa5u*ssa5.9
ssa5.10 ~~ ssa5u*ssa5.10
ssa5.11 ~~ ssa5u*ssa5.11

ssa6.7 ~~ ssa6u*ssa6.7
ssa6.8 ~~ ssa6u*ssa6.8
ssa6.9 ~~ ssa6u*ssa6.9
ssa6.10 ~~ ssa6u*ssa6.10
ssa6.11 ~~ ssa6u*ssa6.11

ssa7.7 ~~ ssa7u*ssa7.7
ssa7.8 ~~ ssa7u*ssa7.8
ssa7.9 ~~ ssa7u*ssa7.9
ssa7.10 ~~ ssa7u*ssa7.10
ssa7.11 ~~ ssa7u*ssa7.11

# 设定结构路径 (被试内)

SSA.8 ~ A*SSA.7 + C*PSP.7
PSP.8 ~ D*SSA.7 + B*PSP.7
SSA.9 ~ A*SSA.8 + C*PSP.8
PSP.9 ~ D*SSA.8 + B*PSP.8
SSA.10 ~ A*SSA.9 + C*PSP.9
PSP.10 ~ D*SSA.9 + B*PSP.9
SSA.11 ~ A*SSA.10 + C*PSP.10
PSP.11 ~ D*SSA.10 + B*PSP.10

#设定因子共变

SSA.7 ~~ PSP.7
SSA.8 ~~ PSP.8
SSA.9 ~~ PSP.9
SSA.10 ~~ PSP.10
SSA.11 ~~ PSP.11

  # 释放跨时预测
  PSP.8 + PSP.9 + PSP.10 + PSP.11 + SSA.8 + SSA.9 + SSA.10 + SSA.11 ~ 1

 # 将因子和外生内在因子的共变设置为0

  RI.PSP1 + RI.PSP2 + RI.PSP3 + RI.SSA1 + RI.SSA2 + RI.SSA3 ~~ 0*PSP.7 + 0*SSA.7
'

上面的代码运行后得到的拟合结果的示意图如下:

文献解读:纵向数据的测量不变性和交叉滞后模型(二)

对图示结果解读一下:psp这个变量可以预测自身,也可以预测sas,但是sas不能预测自身,也不能预测PSP,结论就是是PSP造成了SAS,而非SAS造成psp。

本文大部分内容翻译自文献

A Tutorial in Longitudinal Measurement Invariance and Cross-lagged Panel Models Using Lavaan

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容