温馨提示:本文翻译自stackoverflow.com,查看原文请点击:r - Formatting individual variables in a dataframe
dataframe r

r - 格式化数据框中的单个变量

发布于 2020-03-31 23:31:42

我有一个简单的问题。我有一个包含文本和数字变量的大型数据集。我想格式化数字变量,但不将其保存在单独的数据集中并重新合并(这将花费很多时间)。

我该怎么做呢?

这是我的意思的一个最小示例:

a <- c("name1", "name2", "name3")
b <- rnorm(3)

df <- data.frame(a=a, b=b)

df<- format(round(df, 3), nsmall=3) 

这给了我一个错误,因为“ a”是一个非数字变量。那么,如何仅格式化“ b”呢?

查看更多

提问者
Stata_user
被浏览
15
zx8754 2020-01-31 19:52

格式化一列:

df$b <- format(round(df$b, 3), nsmall = 3)

如果我们需要格式化许多数字列:

ix <- sapply(df, is.numeric)
df[ ix ] <- format(round(df[ ix ], 3), nsmall = 3)