[英]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.