【发布时间】:2021-09-02 07:50:07
【问题描述】:
我一直在努力迭代以下变量列表中的 as.factor() 函数。
d$block <- as.factor(d$block)
d$CR <- as.factor(d$CR)
d$T1.ACC <- as.factor(d$T1.ACC)
d$T1.correct <- as.factor(d$T1.correct)
d$T1.response <- as.factor(d$T1.response)
我想知道如何使用 for 循环创建一些代码行以在这样的列表上迭代 as.factor 函数。其实我用了下面的代码
d %>%
dplyr::select(
block, CR, T1.ACC, T1.correct, T1.response) %>%
lapply(., as.factor) %>%
lapply(., is.factor)
但是当要单独验证变量时,这似乎不起作用。
> is.factor(d$block)
[1] FALSE
哪一个可能是问题?如何编写一个好的 for 循环?谢谢回复
【问题讨论】:
-
您必须将结果分配回
d。实际上,将其分配给d[]。对于为什么需要这样做,我有一个非常奇妙的解释,但是这个评论太短了,无法包含它 -
在提到 d[] 作业时能不能说得清楚一点?