簡體   English   中英

使用“as_factor”更改級別和標簽

[英]Change levels and labels using the `as_factor` R haven function for table1 output

我正在嘗試使用table1和 SAV 文件中的 p 值和數據創建一個描述性統計表。 我使用來自haven package 的read_sav讀取文件。

library(haven)
library(table1)
library(tidyverse)

df<- read_sav(filename)

outcome_var = 'treatment'
test_df <- tibble(treatment = c(1,0,0,0,1,0), x = 1:6, y = rnorm(6))

它將數據作為tibble讀取。 要創建 table1, treatment變量必須是因子類型。 通常,我會使用上面的鏈接更改列,例如

library(MatchIt)
data(lalonde)

lalonde$treat    <- factor(lalonde$treat, levels=c(0, 1, 2), labels=c("Control", "Treatment", "P-value"))

但是,當我這樣做時

factor(test_df[,outcome_var], levels=c(0, 1, 2), labels=c("Not Treated", "Treated", "P-value")

treatment列返回為 NULL。 如果我使用 Haven 的as_factor haven ,我無法通過關卡或標簽。

我希望 output 像上面 table1 鏈接中顯示的表格一樣。

如何使用as_factor更改級別和標簽以包含 p 值列? 或者有沒有辦法使用factor而不將 NULL 返回到列?

tibble數據框轉換為普通數據框,然后您可以使用factor和 p 值腳本來生成表 1。

test_df <- as.data.frame(test_df)

test_df$treatment <- factor(test_df$treatment, levels=c(0, 1, 2), labels=c("Not Treated", "Treated", "P-value"))

table1(~ x + y | treatment, data = test_df, render = rndr)

請注意,我使用test_df$treatment而不是test_df[, outcome] 每種方法都返回不同的結構,而factor使用test_df$treatment返回的結構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM