当一个变量=0时,如何在R中生成多列表?
我试图制作一个表,评估两个变量,如下所示:当一个变量=0时,如何在R中生成多列表?,r,dataframe,R,Dataframe,我试图制作一个表,评估两个变量,如下所示: Diabetes No_Diabetes 1 0 12 2 5 234 3 7 182 4 3 57 通过使用tablex,我可以得到本例中每个单独列的频率,糖尿病或非糖尿病: tabledata$bmi_猫[糖尿病==0] tabledata$bmi_猫[糖尿病==1] 但由于在本例中1=0,当我尝试将两个表放入一个数据帧
Diabetes No_Diabetes
1 0 12
2 5 234
3 7 182
4 3 57
通过使用tablex,我可以得到本例中每个单独列的频率,糖尿病或非糖尿病:
tabledata$bmi_猫[糖尿病==0]
tabledata$bmi_猫[糖尿病==1]
但由于在本例中1=0,当我尝试将两个表放入一个数据帧时,我收到一条错误消息,指出它们不能组合,因为它们的长度不同
我屈从于使用for循环来生成上面的原始数据帧,但必须有一种比编写8个单独的循环更简单的方法,当表如此高效地执行此操作时。有没有关于如何组合这两个表的建议,也许可以找到在第二个表中显示1=0的方法?谢谢 原则上,您只需运行以下程序即可获得您的表格:
table(data$bmi_cat,DIABETES)
虽然没有数据很难解决,但糖尿病似乎是一个二元向量。
下面是一个尝试,从您共享的内容中对问题进行反向工程:
temp <- read.table(text="Diabetes No_Diabetes
0 12
5 234
7 182
3 57",header=TRUE)
temp
似乎我们已经适当地设置了数据,现在让我们将其组合到data.frame中,并在此基础上运行表:
请提供一些数据。根据数据表BMI_cat,糖尿病是一个猜测。不是一个循环而是八个循环?真正地怎样为什么?如果没有数据,很难说这里发生了什么,请仔细阅读如何做出决定。
table(data$bmi_cat,DIABETES)
temp <- read.table(text="Diabetes No_Diabetes
0 12
5 234
7 182
3 57",header=TRUE)
temp
bmi_cat <- rep(1:4,apply(temp,1,sum))
DIABETES <- rep(rep(c(0,1),4),c(t(temp)))
table(bmi_cat[DIABETES==0])
table(bmi_cat[DIABETES==1])
data <- data.frame(bmi_cat,DIABETES)
table(data)
table(bmi_cat,DIABETES)