0

i am unable to add column values in R in my DF. after reading the CSV, I need to calculate the individual cell values which have two values. How do I go about doing that?

enter image description here

MrFlick
  • 195,160
  • 17
  • 277
  • 295
  • 1
    Welcome to Stack Overflow. We cannot read data into R from images. Please [make this question reproducible](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) by including a small representative dataset in a plain text format - for example the output from `dput(yourdata)`, if that is not too large. – neilfws Nov 28 '21 at 23:37
  • It's easier to help you if you include a simple [reproducible example](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) with sample input and desired output that can be used to test and verify possible solutions. Do not post picture of data because we can't copy/paste that into R. – MrFlick Nov 29 '21 at 06:50
  • you need to look up sub setting a data.frame. But bear in mind you don't have any proper numbers in the columns except for the first one. And, as everyone says, please provide a reproducible example. – DarrenRhodes Dec 02 '21 at 14:39
  • Please provide enough code so others can better understand or reproduce the problem. – Community Dec 02 '21 at 14:40

1 Answers1

1

Here are two solutions with toy data:

df <- data.frame(
  Variable = c("1-3", "40-45")
)

with sapply:

library(stringr)
sapply(lapply(str_extract_all(df$Variable, "\\d+"), as.numeric), sum)
[1]  4 85

with map_dbl:

library(purrr)
library(stringr)
library(dplyr)
df %>%
  mutate(
    # extract whatever digits are there:
    add = str_extract_all(df$Variable, "\\d+"),
    # map the digits to one another and add the first to the second:
    add = map_dbl(add, function(x) as.numeric(x)[1] + as.numeric(x)[2]))
  Variable add
1      1-3   4
2    40-45  85
Chris Ruehlemann
  • 20,321
  • 4
  • 12
  • 34