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)