在R中,将列类映射到没有for循环的字符向量

时间:2015-01-30 21:09:59

标签: r class mapping

假设我有一个包含X列的数据框,以及一个长度为X的字符向量,其中包含如下所示的类:

classes <- c("character","numeric","numeric","character","character")

如何在不使用for循环的情况下将这些类“映射”到我的数据框的列中?

1 个答案:

答案 0 :(得分:1)

有一个名为Map的函数。 ;)

DF <- iris
classes <- c("character","numeric","numeric","character","character")
DF[] <- Map(as, DF, classes)
sapply(DF, class)
#Sepal.Length  Sepal.Width Petal.Length  Petal.Width      Species 
# "character"    "numeric"    "numeric"  "character"  "character" 

当然,这仍然是一个循环,并不会比for循环更有效。但是语法更清晰。