Предполагая, что столбец value
является символом (как в примечании в конце или, если не преобразует их первым), удалите символ <
, преобразуйте его в числовое и умножьте каждое значение на 0,5 или 1.
library(dplyr)
dat %>%
mutate(value = as.numeric(sub("<", "", value)) * if_else(grepl("<", value), .5, 1))
или используя только основание R:
transform(dat, value = as.numeric(sub("<", "", value)) * ifelse(grepl("<", value), .5, 1))
Примечание
Lines <- "Site value
NR <0.02500
NR <0.02500
NR <0.02500
NR <0.02500
NR <0.02500
NR <0.02500
NR 0.01
NR 0.01
NR 0.01
NR 0.02
NR 0.01
NR 0.01
NR 0.01
NR 0.01
NR 0.01
NR <0.05100
NR <0.05100
NR <0.05100
NR <0.05000
NR <0.05000
NR <0.05000
NR <0.05000
NR <0.05000
NR <0.05000
NR 0.02
NR 0.017
NR 0.031
NR 0.025
NR 0.023
NR 0.024
NR 0.023"
dat <- read.table(text = Lines, header = TRUE, as.is = TRUE)