我想实现某种循环从数据帧制表所有变量对一个常量,常量是另一个变量。创建使用对所有其他变量不变一个变量数据帧多发的表
例如,假设我有3个变量一个数据帧,如下面的伪数据,我想给出产生的表。
df <- data.frame(V1 = factor(c("L", "L", "XL", "M", "S", "XXL")),
V2 = factor(c("Tall", "Medium", "Tall", "Small", "Small", "Very Tall")),
V3 = factor(c("Vegan", "Vegetarian", "Non-V", "Vegan", "Non-V", "Non-V")))
attach(df)
table(V3, V3)
table(V3, V2)
table(V3, V1)
我的目标是创建每个单独的表并将它们编译成列表。一旦列入清单,我可以使用匿名功能的组合和应用家庭电话进行兴趣计算。但是,我需要找到一种方法来创建具有多个变量的大型数据集的这些表,而无需手动创建每个表的繁琐工作。
我试过使用lapply
,sapply
和for
循环,但似乎无法得到一种适用于我的方法。有没有办法做到这一点,跨越所有变量创建表并将它们放入列表中?
我误解你的问题,我想,但使用'lapply'提供了一个额外的答案。 – lmo
该方法工作得很好,正是我一直在寻找的。我对桌子后发生的事情有点不清楚吗?我知道我们正在将表函数应用到df的子集,而没有我想要比较的常量。 df [,1]实现了什么? – Seanosapien
'df [,1]'是'table'的第二个参数,如'table(df [,2],df [,1])''。 – lmo