R打印变量名,chi sq循环

R打印变量名,chi sq循环,r,R,我是新手,所以我相信这很简单。这可以作为循环打印双变量表和卡方: results <- lapply(c("age", "female", "black"), function(var){ print(table(data$heart,data[,var])); print(chisq.test(data$heart,data[,var], correct = FALSE)) }) 我只想让它打印表/中的实际变量名,而不是chi sq结果中的“data[,var]”,这样我就知道我在看

我是新手,所以我相信这很简单。这可以作为循环打印双变量表和卡方:

results <- lapply(c("age", "female", "black"), 
function(var){
print(table(data$heart,data[,var]));
print(chisq.test(data$heart,data[,var], correct = FALSE))
})
我只想让它打印表/中的实际变量名,而不是chi sq结果中的“data[,var]”,这样我就知道我在看什么了


谢谢你的帮助

我认为这应该行得通

fun <- function(var){
    print(table(data$heart,data[,var], dnn = c('heart', paste(var))))
    out <- chisq.test(data$heart,data[,var], correct = FALSE)
    out$data.name <- paste('heart and',var)
    print(out)
}

results <- lapply(c("age", "female", "black"),fun)

fun我实际上得到了完全相同的结果——没有名称的表和“data[,var]”显示了一些示例数据它与dnn一起工作!这张桌子现在有名字了。卡方检验结果中仍然显示“数据:数据$heart和数据[,var]”,但我可以接受。谢谢
fun <- function(var){
    print(table(data$heart,data[,var], dnn = c('heart', paste(var))))
    out <- chisq.test(data$heart,data[,var], correct = FALSE)
    out$data.name <- paste('heart and',var)
    print(out)
}

results <- lapply(c("age", "female", "black"),fun)