Extract certain character value from a vector and replace it with new value after doing some mathematical operations

I am a beginner with R and I have a vector called "condition" and it has following values, I want to change the value of condition to number of hours left for all the records.

condition <- c("10 days left", "3 days left", "22 hours left", "54 hours left", "10 minutes", "9 minutes", "Listing Expired")

Just to verify whether my logical concept is good, I first tried my logic on one element i.e. element[2] of the vector. It worked and I got my desired result

b <- as.numeric(word(condition[2]),1)*24
b
[1] 72
bc <- paste(b, gsub(".*days left.*", "hours left", condition[2]))
bc
"72 hours left"

I then tried to put it in for loop to apply the same logic on every element of vector. However it just worked for 1st two values but rest iterations are completely wrong. I am getting warnings too. Please help what changes do I need to make to get my desired output ??

Declaring a variable to get the 2nd element of my strings

var2nd <- word(condition,2)
var2nd

Now creating for loop to calculate hours left for every value in the vector condition

Hours_left <- for (var in condition) {
  if (var2nd == "days") {
    b = as.numeric(word(var,1))*24
    c = paste(b, gsub(".*days left.*", "hours left", var))
    print(c)
  } else if ( var2nd == "minutes") {
    d <- round(as.numeric(word(var, 1)/60, digits = 2))
    e <- as.character(paste(d, gsub(".*minutes.*", "hours left", var)))
    print(e)
    
  } else if (var2nd == "Expired") {
    print(var)
    
  } else if (var2nd == "hours") {
    print(var)
   
  }
}

[1] "240 hours left"
[1] "72 hours left"
[1] "528 22 hours left"
[1] "1296 54 hours left"
[1] "240 10 minutes"
[1] "216 9 minutes"
[1] "NA Listing Expired"
Warning messages:
1: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
2: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
3: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
4: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
5: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
6: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
7: In if (var2nd == "days") { :
  the condition has length > 1 and only the first element will be used
8: NAs introduced by coercion 
suppressPackageStartupMessages({library(dplyr)
                                library(stringr)})
condition <- data.frame(togo = c("10 days left", "3 days left", "22 hours left", "54 hours left", "10 minutes", "9 minutes", "Listing Expired"))

condition %>% 
  mutate(togo = str_remove(togo," left")) %>%
  mutate(mult = case_when(
      str_detect(togo, "L") ~  0,
      str_detect(togo, "d") ~ 24,
      str_detect(togo, "h") ~  1,
      str_detect(togo, "m") ~  1/60
    )
  ) %>%
  mutate(amt = as.numeric(str_extract(togo,"[0-9]+"))) %>%
  mutate(amt = ifelse(mult == 0,0,amt)) %>%
  mutate(hours = mult * amt)
#>              togo        mult amt       hours
#> 1         10 days 24.00000000  10 240.0000000
#> 2          3 days 24.00000000   3  72.0000000
#> 3        22 hours  1.00000000  22  22.0000000
#> 4        54 hours  1.00000000  54  54.0000000
#> 5      10 minutes  0.01666667  10   0.1666667
#> 6       9 minutes  0.01666667   9   0.1500000
#> 7 Listing Expired  0.00000000   0   0.0000000

Created on 2020-09-19 by the reprex package (v0.3.0)

Here is version that modifies the initial approach.

library(stringr)
condition <- c("10 days left", "3 days left", "22 hours left", "54 hours left", 
               "10 minutes", "9 minutes", "Listing Expired")
var2nd <- word(condition, 2)
Nums <- as.numeric(word(condition, 1))
for (i in seq_along(condition)) {
  if (var2nd[i] == "days") {
    b = Nums[i]*24
    c = paste(b, "hours left")
    print(c)
  } else if ( var2nd[i] == "minutes") {
    d <- round(Nums[i]/60, digits = 2)
    e <- paste(d, "hours left")
    print(e)
    
  } else if (var2nd[i] == "Expired") {
    print("Listing Expired")
    
  } else if (var2nd[i] == "hours") {
    print(paste(Nums[i], "hours left"))
    
  }
}
1 Like

Thankyou so much :slight_smile: Now I have another concern that I need your help with, I need to store this Hours_left in a vector or a data frame and then cbind or mutate this new hours_left coulmn into my existing data frame...However both mutate and cbind are giving me errors and i guess the reason is Hours_left is actually a list and I perhaps would have to vectorize it first

var2nd <- word(US_cars_df$condition, 2)
Nums <- as.numeric((word(US_cars_df$condition, 1)))
magic_for(silent = TRUE)
hours_left <- for (i in seq_along(US_cars_df$condition)) {
if (var2nd[i] == "days") {
b = Nums[i]*24
c = paste(b, "hours left")
print(c)
} else if ( var2nd[i] == "minutes") {
d <- round(Nums[i]/60, digits = 2)
e <- paste(d, "hours left")
print(e)

} else if (var2nd[i] == "Expired") {
print("Listing Expired")

} else if (var2nd[i] == "hours") {
print(paste(Nums[i], "hours left"))

}
}
hours_left <- magic_result_as_vector()
hours_left
US_cars_df <- cbind(US_cars_df, hours_left)
View(US_cars_df)

[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "15 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "192 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "192 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "192 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "192 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "360 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "288 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "360 hours left"
[1] "360 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "360 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "240 hours left"
[1] "0.47 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.48 hours left"
[1] "0.57 hours left"
[1] "0.48 hours left"
[1] "48 hours left"
[1] "0.48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "216 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "216 hours left"
[1] "24 hours left"
[1] "168 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "168 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "144 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "24 hours left"
[1] "2 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "168 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "168 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "168 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "240 hours left"
[1] "288 hours left"
[1] "5 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "168 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "12 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "264 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "216 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "216 hours left"
[1] "192 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "264 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "0.6 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "144 hours left"
[1] "264 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "18 hours left"
[1] "24 hours left"
[1] "24 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "144 hours left"
[1] "144 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "264 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "168 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "144 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "24 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "168 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "264 hours left"
[1] "192 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "144 hours left"
[1] "15 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "96 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "22 hours left"
[1] "22 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "6 hours left"
[1] "144 hours left"
[1] "18 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "6 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "19 hours left"
[1] "24 hours left"
[1] "240 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "7 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "72 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "19 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "7 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "18 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "7 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "6 hours left"
[1] "24 hours left"
[1] "6 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "96 hours left"
[1] "216 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "16 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "120 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "16 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "120 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "24 hours left"
[1] "5 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "2 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "24 hours left"
[1] "5 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "6 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "18 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "19 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "96 hours left"
[1] "48 hours left"
[1] "24 hours left"
[1] "240 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "19 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "144 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "16 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "16 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "16 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "216 hours left"
[1] "24 hours left"
[1] "48 hours left"
[1] "240 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "144 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "19 hours left"
[1] "19 hours left"
[1] "19 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "19 hours left"
[1] "Listing Expired"
[1] "19 hours left"
[1] "19 hours left"
[1] "48 hours left"
[1] "264 hours left"
[1] "264 hours left"
[1] "21 hours left"
[1] "18 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "22 hours left"
[1] "72 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "216 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "16 hours left"
[1] "72 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "120 hours left"
[1] "21 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "17 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "192 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "17 hours left"
[1] "21 hours left"
[1] "216 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "20 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "96 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "24 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "23 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "22 hours left"
[1] "23 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "48 hours left"
[1] "22 hours left"
[1] "22 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "48 hours left"
[1] "14 hours left"
[1] "48 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "21 hours left"
[1] "18 hours left"

hours_left
list()

US_cars_df <- cbind(US_cars_df, hours_left)
Error in data.frame(..., check.names = FALSE) :
arguments imply differing number of rows: 2499, 0
View(US_cars_df)

If you run your code up to this point

hours_left <- magic_result_as_vector()

what is the result of then running

class(hours_left)
length(hours_left)
nrow(US_cars_df)

By the way, you should not assign the return value of for to hours_left

hours_left <- for (i in seq_along(US_cars_df$condition)) {

The for function just returns a NULL.

class(hours_left)
[1] "list"
length(hours_left)
[1] 0
nrow(US_cars_df)
[1] 2499

I store it in hours_left because i want to cbind it with my Data Frame
there's a function called Vectorize do you know how to use it ?

Got it!!! It worked

var2nd <- word(US_cars_df$condition, 2)
Nums <- as.numeric((word(US_cars_df$condition, 1)))
magic_for(silent = TRUE)
hours_left <- for (i in seq_along(US_cars_df$condition)) {
if (var2nd[i] == "days") {
b = Nums[i]*24
hr = paste(b, "hours left")
put(hr)
} else if ( var2nd[i] == "minutes") {
d <- round(Nums[i]/60, digits = 2)
hr <- paste(d, "hours left")
put(hr)

} else if (var2nd[i] == "Expired") {
hr <- print("Listing Expired")
put(hr)
} else if (var2nd[i] == "hours") {
hr <- print(paste(Nums[i], "hours left"))
put(hr)
}
}

hours_left <- magic_result_as_vector()
hours_left
class(hours_left)
length(hours_left)
nrow(US_cars_df)

US_cars_df <- cbind(US_cars_df, hours_left)
View(US_cars_df)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.