r - 在 R 中创建循环以将相同的函数应用于许多类似命名的变量

标签 r loops

我使用的数据集包含名称非常相似的变量。我必须一次对所有 13 个变量应用相同的函数,并且我正在尝试缩短代码,而不是单独执行每个变量。

q01a.F=factor(q01a)
q01b.F=factor(q01b)
q01c.F=factor(q01c)
q01d.F=factor(q01d)
q01e.F=factor(q01e)
q01f.F=factor(q01f)
q01g.F=factor(q01g)
q01h.F=factor(q01h)
q01i.F=factor(q01i)
q01j.F=factor(q01j)
q01k.F=factor(q01k)
q01l.F=factor(q01l)
q01m.F=factor(q01m)

建议?

最佳答案

## suppose dnow is the data.frame with your variables of interest
dnow <- data.frame(q01a=rep(1,10), q01b=rep(2,10), q01c=rep(3,10), q02=rlnorm(10))
## we need to extract the variable names we need
## (they start with q01 and end with a, b or c
## dnow is your data.frame
vnames <- grep("^q01[a-c]", names(dnow), value=TRUE) ## regular expression matching the names
for (i in vnames) {
    dnow[,paste(i, ".F", sep='')] <- factor(dnow[,i]) 
}

关于r - 在 R 中创建循环以将相同的函数应用于许多类似命名的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2792215/

相关文章:

javascript - 为什么 for...in 循环中的变量是字符串?

R:如何在向量中的两个值之间找到最大长度序列?

c# - 如何在c#中使用循环调用不同名称的数组

c - 所以break语句只是打破c中的内部for循环或两者

algorithm - 在没有循环或 if 语句的情况下执行循环 x 次

Javascript页面自动上下滚动

r - 如何向/从 UTF-8 编码文件写入和读取可打印的 ASCII 字符?

R 预测函数 : why it returns zero length prediction?

r - 错误 ggplotly : VECTOR_ELT() can only be applied to a 'list' , 不是 'NULL'

sql - 获取两个日期之间的每一行的最大值?