我有一个简单的问题。我有一个包含文本和数字变量的大型数据集。我想格式化数字变量,但不将其保存在单独的数据集中并重新合并(这将花费很多时间)。
我该怎么做呢?
这是我的意思的一个最小示例:
a <- c("name1", "name2", "name3")
b <- rnorm(3)
df <- data.frame(a=a, b=b)
df<- format(round(df, 3), nsmall=3)
这给了我一个错误,因为“ a”是一个非数字变量。那么,如何仅格式化“ b”呢?
格式化一列:
df$b <- format(round(df$b, 3), nsmall = 3)
如果我们需要格式化许多数字列:
ix <- sapply(df, is.numeric)
df[ ix ] <- format(round(df[ ix ], 3), nsmall = 3)