【问题标题】:R question. Using lappy on a data.frame and creating new variables w/ output问题。在 data.frame 上使用 lappy 并创建带有输出的新变量
【发布时间】:2011-02-17 09:46:28
【问题描述】:

我在 data.frame(称为“UNCA”)中有 13 个定量变量。

变量命名为 q01_a、q01_b、...q01_m。

我想创建 13 个具有相同值但编码为因子的新变量。

我想将这 13 个新变量命名为 q01_a.F、q01_b.F、...q01_m.F。

任何帮助将不胜感激!

【问题讨论】:

标签: r statistics dataframe lapply


【解决方案1】:
for (i in names(UNCA)) {
    UNCA[,paste(i,"F",sep='.')] <- as.factor(UNCA[,i])
}

【讨论】:

  • 感谢您的回复。之前有人提出了类似的建议,由于某种原因,这给了我一个“意外输入”错误。
  • @Michael 那么你为什么不在上一个问题中问呢?这个问题和你之前的问题几乎一样。
【解决方案2】:

这不是一个漂亮的解决方案,但你可以这样做

d<-data.frame(matrix(sample(26),ncol=13))
names(d)<-paste("q01_",letters[1:13],sep="")

d2<-data.frame(lapply(d,factor))
# or if each variable should have common levels of factor:
# d2<-data.frame(lapply(d,factor, levels=sort(unique(unlist(d)))))

names(d2)<-paste(names(d),"F",sep=".")
d<-cbind(d,d2)

【讨论】:

    猜你喜欢
    • 2013-10-14
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多