У меня очень большой фрейм данных со строками в качестве наблюдений и столбцами в качестве генетических маркеров. Я хотел бы создать новый столбец, содержащий сумму выбранного количества столбцов для каждого наблюдения с использованием R.
Если у меня 200 столбцов и 100 строк, я хотел бы создать новый столбец, содержащий 100 строк с суммой, скажем, столбцов с 43 по 167. В столбцах есть либо 1, либо 0. С новым столбцом, который содержит сумму каждого ряду, я смогу отсортировать людей, у которых больше всего генетических маркеров.
Я чувствую, что это что-то близкое к:
data$new=sum(data$[,43:167])
data$new <- rowSums(data[43:167])
rowsum
которая выполняет что-то еще!Функция rowSums (как упоминает Грег) будет делать то, что вы хотите, но вы смешиваете методы подмножества в своем ответе, не используйте «$» при использовании «[]», ваш код должен выглядеть примерно так:
data$new <- rowSums( data[,43:167] )
Если вы хотите использовать функцию, отличную от суммы, посмотрите? Apply для применения общих функций к строкам или столбцам.
источник
incomeData
она не числовая. Используйте что-нибудь вроде,str(incomeData)
чтобы увидеть, что это такое, а затем, возможно, преобразуйте это в числовую матрицу.Я пришел сюда в надежде найти способ получить сумму по всем столбцам в таблице данных и столкнуться с проблемами при реализации вышеуказанных решений. Чтобы добавить столбец с суммой по всем столбцам, используется
cbind
функция:Этот метод добавляет
total
столбец к данным и позволяет избежать проблемы с выравниванием, возникающей при попытке суммирования по ВСЕМ столбцам с использованием вышеуказанных решений (см. Сообщение ниже для обсуждения этой проблемы).Добавление нового столбца в матрицу ошибки
источник