谁能解释一下如何将数据框中的第二列数据更改为2个小数点(作为数据清理的一部分)。我已经尝试了以下代码。
data <- as.matrix(read.table("Assessment2.txt"))
data
data <- data %>%
mutate_if(is.numeric(), round, digits = 2)
data发布于 2019-12-10 15:22:11
试试这个:
iris %>%
mutate_if(~is.numeric(.), ~round(., digits = 2))发布于 2019-12-10 15:20:27
下面是一个快速示例,如果您知道第二列的名称,并且此列已经是数字格式:
在base R中,你可以很简单:
df[,2] <- round(df[,2], digits = 2)或者,也可以使用dplyr中的mutate
> df %>% mutate(b = round(b,digits = 2))
a b
1 -1.63728065 0.89
2 -0.77956851 -0.03
3 -0.64117693 -0.65
4 -0.68113139 0.65
5 -2.03328560 -0.43
6 0.50096356 1.77
7 -1.53179814 -0.02
8 -0.02499764 0.85
9 0.59298472 0.21
10 -0.19819542 -3.01Data
df = data.frame(a = rnorm(10),
b = rnorm(10))
> df
a b
1 -1.63728065 0.89200839
2 -0.77956851 -0.02571507
3 -0.64117693 -0.64766045
4 -0.68113139 0.64635942
5 -2.03328560 -0.43383274
6 0.50096356 1.77261118
7 -1.53179814 -0.01825971
8 -0.02499764 0.85281499
9 0.59298472 0.20516290
10 -0.19819542 -3.00804860发布于 2019-12-10 15:26:46
如果它只是第二列,下面将它舍入到2个小数位。
加载所需的包并创建数据集。
library(dplyr)
set.seed(1234)
df <- data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10))现在将第二列舍入为2位数。
df %>% mutate_at(2, round, digits = 2)
# a b c
#1 -1.2070657 -0.48 0.1340882
#2 0.2774292 -1.00 -0.4906859
#3 1.0844412 -0.78 -0.4405479
#4 -2.3456977 0.06 0.4595894
#5 0.4291247 0.96 -0.6937202
#6 0.5060559 -0.11 -1.4482049
#7 -0.5747400 -0.51 0.5747557
#8 -0.5466319 -0.91 -1.0236557
#9 -0.5644520 -0.84 -0.0151383
#10 -0.8900378 2.42 -0.9359486https://stackoverflow.com/questions/59262003
复制相似问题