【发布时间】:2021-08-20 10:16:33
【问题描述】:
我有一个调查数据,当问题 cmb.df$b3002 有多个选择 1,2,3, and 4 时,for 循环有效,我可以通过 table(cmb.df$b3002)[i] 遍历每个选择,
但其中一个问题的多项选择记录为cmb.df$b3002a_1_1_mc,cmb.df$b3002a_1_2_mc,...cmb.df$b3002a_1_9_mc。如何在此创建一个 for 循环?非常感谢。
usq <- NULL
for(i in 1:4) {
# i-th element of `u1` squared into `i`-th position of `usq`
usq[i] <- table(cmb.df$b3002)[i]
}
usq
[1] 5894 472 180 43
数据集很大并且
a <- cbind(cmb.df$b3002, cmb.df$b3002a_1_1_mc, cmb.df$b3002a_1_2_mc, cmb.df$b3002a_1_3_mc, cmb.df$b3002a_1_4_mc,
cmb.df$b3002a_1_5_mc, cmb.df$b3002a_1_6_mc, cmb.df$b3002a_1_7_mc, cmb.df$b3002a_1_8_mc, cmb.df$b3002a_1_9_mc )
dput(head(a, 20))
structure(c(NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_,
NA_real_, NA_real_, NA_real_, NA_real_, NA_real_, NA_real_), .Dim = c(20L,
10L))
【问题讨论】:
-
cmb.df$b3002a_1_1_mc、cmb.df$b3002a_1_2_mc等,是不同的向量吗?请注意,您不需要问题中的循环,它相当于usq<-table(cmb.df$b3002_1)。 -
您能以
dput格式发布示例数据吗?请使用dput(cmb.df)的输出编辑问题。或者,如果dput(head(cmb.df, 20))的输出太大。 -
cmb.df$b3002a中的主要问题,有9个多项选择,每个多项选择记录为cmb.df$b3002a_1_1_mc,.... cmb.df$b3002a_1_9_mc,我想像上面一样设置 for 循环,但我不确定如何保存 for 循环响应。
标签: r for-loop data-manipulation