преобразовать несколько строк в LBS в R - PullRequest
0 голосов
/ 19 ноября 2018

моих векторов имеют разные данные, я пытался их преобразовать, но я действительно не могу найти способ.

В этом столбце у меня есть веса, те, у которых нет индикатора, в фунтах, остальные в килограммах, мне нужно, чтобы все это было в фунтах. Но я не нахожу, как работать только с определенным количеством строк. Вынуть килограмм и умножить его на 2,20, например, в фунты.

  • Элемент списка
    • Вес
    • 200
    • 150
    • 220
    • 100кг
    • 80KG
    • 95кг

1 Ответ

0 голосов
/ 19 ноября 2018

Попробуйте этот пример:

# example data
df1 <- read.table(text = "Weight 
1  194 
2  200 
3  250 
4  50Kg 
5  40Kg 
6  39Kg", header = TRUE, stringsAsFactors = FALSE)


# using ifelse (gives warning)
ifelse(grepl("Kg", df1$Weight),
       as.numeric(gsub("Kg", "", df1$Weight)) * 2.2,
       as.numeric(df1$Weight))
# [1] 194.0 200.0 250.0 110.0  88.0  85.8
# Warning message:
# In ifelse(grepl("Kg", df1$Weight), as.numeric(gsub("Kg", "", df1$Weight)) *  :
#    NAs introduced by coercion

# not using ifelse :)
as.numeric(gsub("Kg", "", df1$Weight)) * (1 + grepl("Kg", df1$Weight) * 1.2)
# [1] 194.0 200.0 250.0 110.0  88.0  85.8
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...