我有一个包含25个变量的数据框。
我想转换2:8列; 10:17; 24:25作为数字。
我使用单独的for循环来转换数据类型。有没有办法,我可以使用单个for循环并将它们转换为数字。
另外,我想以日期格式转换9,18。
如果你可以帮助我将我的代码最小化为单个循环
,那将会很有帮助for (i in 2:8){
claim[,i] <- as.numeric(claim[,i])
}
for(i in 10:17){
claim[,i] <- as.numeric(claim[,i])
}
for(i in 24:25){
claim[,i] <- as.numeric(claim[,i])
}
答案 0 :(得分:0)
这不是超级高效的,但首先想到的是定义一个包含要转换的索引的向量,然后像这样迭代它:
indices <- c(2:8, 10:17, 24:25)
for(i in indices) {
claim[,i] <- as.numeric(claim[,i])
}
答案 1 :(得分:0)
试试这一行代码:
claim[,c(2:8,10:17,24:25)] <- lapply(claim[,c(2:8,10:17,24:25)], as.numeric)
this答案的改编。
date
转换可以做同样的事情:
claim[,c(9,18)] <- lapply(claim[,c(9,18)], as.Date)