从此处开始的一些示例代码
ST <- c("AL","AL","AK","AK")
X1 <- c("2,21", "2,29", "3,49", "2.3")
X2 <- c("10,333","10,333", "11,333", "11,333")
df <- cbind(ST, X1, X2)
我正在尝试使用for循环或lapply编写一个循环,该循环可以解析出数字,但是跳过第一行的状态名称。到目前为止,我一直坚持:
for(i in seq_along(df[,-1])) {
df[[i]] <- parse_number(df[[i]])
}
这将在ST列中生成NA。我敢肯定有一个简单的解决办法,但它使我无法幸免。谢谢!
答案 0 :(得分:2)
您可以在下面尝试,您可以在此处使用cout
来避免for循环,lapply或sapply可以按列迭代:
lapply/sapply
注意:我在这里使用ST <- c("AL","AL","AK","AK")
X1 <- c("2,21", "2,29", "3,49", "2.3")
X2 <- c("10,333","10,333", "11,333", "11,333")
df <- data.frame(ST,X1, X2)
df[,-1] <- lapply(df[,-1] , readr::parse_number)
中的parse_number
。没有提及您的readr
函数,因此我假设它来自parse_number
。
输出:
readr