R使用$运算符调用多列的元素

时间:2017-02-08 16:09:46

标签: r multiple-columns

R中有什么东西可以调用df$col1:df$col5吗? 我想用as.numeric将字符元素转换为数字,所以我想做像as.numeric(df$col1:df$col5)之类的东西,将这些列中的所有元素转换为数字。

2 个答案:

答案 0 :(得分:3)

df = mtcars

如果您想按列号访问多个列

lapply(df[,c(1:3,5)], as.numeric) #Or as.character if you want

如果您想通过colnames访问

lapply(df[,c('mpg','cyl')], as.numeric)

答案 1 :(得分:0)

您可以使用数字索引来获取一系列列,如评论中所示。

但是如果列不按顺序排列,你可以构造一个名称向量,并使用它(而不是明确地写出名称,如在另一个答案中那样)

my_cols <- paste0('col', 1:5)
my_df[, my_cols] <- lapply(my_df[, my_cols], as.numeric)