这个问题在这里已有答案:
我在数据框Apps
中有一列dframe
看起来像这样:
Apps
1 31
2 12
3 10
4 33
5 -
我需要列类型为int而不是String,所以我需要将第5行转换为0。
Apps
1 31
2 12
3 10
4 33
5 0
dframe$Apps[dframe$Apps == "-"] <- "0"
dframe$Apps <- as.integer(dframe$Apps)
你可以用ifelse
和tidyverse
方法来做到这一点:
require(tidyverse)
df %>%
mutate(Apps = ifelse(Apps == "-", 0, Apps))
Apps
1 4
2 3
3 2
4 5
5 0
数据集:
df <- read.table(text = " Apps
1 31
2 12
3 10
4 33
5 -", header = TRUE)
dframe$Apps <- as.integer(gsub("-", "0", dframe$Apps, fixed = TRUE))
会给你一个整数列,因为我怀疑你想要。