
我试图使用"table1“包针对单个名义值创建一个表,其中包含几个标称值和一些逻辑值。我还希望每一列都包含一个p值。
此代码:table1(~ age + obese + low_income + married + HSless + hosp_visits_2years + ER_2years + nights_hosp_2years | has_PCP, data=Oak, droplevels=F, render=rndr, render.strat=rndr.strat, overall=F)
给我这个警告:
警告信息:表1.公式(~年龄+肥胖+ low_income +已婚+ HSless +:
公式'x‘中右边的术语定义表列,并被期望是带有有意义的标签的因素。
输出也给出了-9作为has_PCP标称值的值,我也不想要这个值。
这里是我从(p值列)获得代码的地方。https://cran.r-project.org/web/packages/table1/vignettes/table1-examples.html
发布于 2020-06-11 04:16:47
使用同名包中的table1函数添加p值是一种基于链接到的小片段中的代码的攻击。
作为另一种选择,请尝试epiDisplay包中的epiDisplay函数。
library(epiDisplay) # for the function
library(MatchIt) # for the lalonde data
data(lalonde)
labs <- c("No","Yes")
lalonde <- within(lalonde, {
treat <- factor(treat, labels=c("Control", "Treatment"))
black <- factor(black, labels=labs)
married <- factor(married, labels=labs)
nodegree <- factor(nodegree, labels=labs)
})
attr(lalonde, "var.labels") <- c("Treatment","Age (yrs)","Education","Black","Hispanic","Married",
"No high school diploma", "1974 Income", "1975 Income", "1978 Income")这只是在准备变量和值标签。
下面的命令为变量的子集创建表。你可以在屏幕上查看输出,
Table1 <- tableStack(vars=c(age, black, married, nodegree, re78), by=treat, dataFrame=lalonde,
iqr=re78, name.test=FALSE)
Table1或者把它发送到文本文件中。
write.csv(Table1, file="Table1.csv")您可以在Excel中打开它,然后以所需的一些次要格式复制到Word。

测试是根据vars中指定的变量类自动选择的。在iqr中指定变量将强制函数为这些变量显示带有IQR的中介,并执行秩和测试。vars中指定的所有其他数值变量都将显示SD的方法,而t.test (有方差池)或ANOVA将根据组数执行。对于各种因素,将进行一次X-平方或Fisher's检验。不幸的是,如果任何变量都有零计数,该函数就会失败,这对于许多变量(肥胖、低收入、已婚.)是正确的。因此,它并不是理想的数据探索。
https://stackoverflow.com/questions/62315752
复制相似问题