Unlist переменная dataframe в R

У меня есть датафрейм bask.df как показано ниже.

     basko1 basko2 
1st       6      1 
2nd      12      1 
3rd       8      8 
4th       4      5 
5th       1      2 
6th       8      9 
7th       1      2 
8th       8      9 
9th      12     14 
10th     15     10 
11th      3      6 
12th      5      2 
13th      4      6 
14th      3      1 
15th      4      6 
16th      3      1 

Я хочу добавить третий столбец с именем total, который является суммой целых чисел в столбцах basko1 и basko2.

Когда я пытаюсь в R как:

bask.df['total'] <- as.numeric(bask.df['basko1']) + as.numeric(bask.df['basko2']) , 

это дает мне ошибку как

Error: (list) object cannot be coerced to type 'double'

Действительно ли bask.df[basko1] и bask.df[basko2], которые, по-видимому, являются векторами, действительно представлены здесь как списки? Или я делаю что-то еще не так?

1 ответ

Решение

Ошибка в коде ОП из-за применения as.numeric к data.frame т.е. bask.df['basko1'] мы все еще data.frame с одной колонкой. as.numeric может применяться к vector или же matrix

bask.df['total'] <- as.numeric(bask.df[,'basko1']) + as.numeric(bask.df[,'basko2'])

В приведенном выше коде мы добавили , сделать это vector или это может быть сделано с [[ т.е. bask.df[['bask01']]

Компактный подход будет

bask.df['total'] <- with(bask.df, bask.o1 + basko2)
Другие вопросы по тегам