Я сделал функцию для решения вашего вопроса.Но позвольте мне объяснить, как это работает:
sumInRow = function(row_value, split = ",") {
# 1. split the values
row_value = strsplit(row_value, split = split)
# 2. Convert them to numeric and sum
row_sum = sapply(row_value, function(single_row) {
single_row = as.numeric(single_row)
return(sum(single_row))
})
return(row_sum)
}
Значение row_value по умолчанию будет символом из-за запятой.Затем для каждого значения нам нужно разделить их:
row_value = strsplit(row_value, split = split)
Но он вернет список, содержащий разделение для всех элементов в row_value , не беспокойтесь, мы будем использовать его позже.
row_sum = sapply(row_value, function(single_row) {
single_row = as.numeric(single_row)
return(sum(single_row))
})
Функция Sapply работает как интегратор, для каждого элемента списка мы будем использовать следующую функцию: преобразовать в числовое значение и вернуть их сумму.
[EDIT_1]
Чтобы использовать, если вам нужно позвонить:
sumInRow(<your data frame>$QYT)
Надеюсь, это поможет вам.