我试图使用tableone包和CreateTableOne命令创建一个表1,描述R中连续变量和分类/二进制变量的描述性统计信息。我得到了一个只有连续变量出现的表1。下面是我用来首先将数值变量转换成分类变量的代码,然后尝试创建我的表1。也许问题在于我如何将变量从数字转换为范畴?非常感谢您的建议!
#将数值变量转换为分类变量
名称<- c(“吸烟”、“酒精”、“与伴侣同居”、"maternal_yrs_schooling“、”母亲“、"hshldincome”、"srq20binary“、"wave")
finaldata,name <- lapply(finaldata,name,factor)
最终数据
#获取变量名
dput(姓名(最终数据))
#变量向量总结
myVars <- c("people_hshold“、"totalchildren_under6”、"totalchildren_6andover“、"srq20sum")
catVars <- c(“吸烟”、“酒精”、“与伴侣同居”、"maternal_yrs_schooling“、”母亲“、"hshldincome”、"srq20binary")
#创建表1
tab1 <- CreateTableOne(vars = myVars,strata = "wave",data = finaldata,factorVars = catVars)
打印(tab1,showAllLevels = TRUE)
发布于 2021-12-15 03:32:35
这里有几个问题:
例如,使用anscombe中构建的数据帧,假设我们要使用x1、x4、y1和y2,其中即使x1不是anscombe中的一个因素,它也被认为是绝对的,x4是分组变量,y1和y2是连续的。然后我们使用以下方法。请注意,x1在vars和factorVars中都列出了。
library(tableone)
tab1 <- CreateTableOne(vars = c("x1", "y1", "y2"), strata = "x4",
data = anscombe, factorVars = "x1")
print(tab1, showAllLevels = TRUE)给予:
Stratified by x4
level 8 19 p test
n 10 1
x1 (%) 4 0 ( 0.0) 1 (100.0) 0.358
5 1 (10.0) 0 ( 0.0)
6 1 (10.0) 0 ( 0.0)
7 1 (10.0) 0 ( 0.0)
8 1 (10.0) 0 ( 0.0)
9 1 (10.0) 0 ( 0.0)
10 1 (10.0) 0 ( 0.0)
11 1 (10.0) 0 ( 0.0)
12 1 (10.0) 0 ( 0.0)
13 1 (10.0) 0 ( 0.0)
14 1 (10.0) 0 ( 0.0)
y1 (mean (SD)) 7.82 (1.82) 4.26 (NA) NA
y2 (mean (SD)) 7.94 (1.49) 3.10 (NA) NA https://stackoverflow.com/questions/70357927
复制相似问题