Графики из двух наборов файлов данных с разным количеством точек данных

avatar
user9613333
7 апреля 2018 в 23:44
52
1
0

Я хочу создать график из двух наборов файлов данных (txt и csv), и я столкнулся с парой проблем при использовании R или Python, и был бы супер-супер-благодарен, если бы кто-нибудь помог :)

  • Как импортировать в наборы данных и как выбрать конкретный столбец в каждом из них (будет ли это точно так же, как если бы мы имели дело с одним файлом)?

  • В одном из файлов гораздо больше точек данных, чем в другом (3 600 000 против 80 000). Как я могу выбрать каждую n-ю строку в файле csv?

Я был бы признателен за любую помощь в R или Python

Источник
Wei Zhang
7 апреля 2018 в 23:47
0

Пакет Python pandas может легко справиться с упомянутыми вами задачами.

Maurits Evers
8 апреля 2018 в 01:20
0

"и я столкнулся с парой проблем при использовании R" Опубликуйте указанные проблемы с кодом R. Все перечисленные вами задачи легко решаются в R.

Ответы (1)

avatar
Jason
8 апреля 2018 в 04:03
1

Хорошо, обращаюсь к пунктам, как могу, без примера того, что вы пробовали, но это не сработало...

Как импортировать в наборы данных и как выбрать конкретный столбец в каждом из них (будет ли это точно так же, как если бы мы имели дело с одним файлом)?

Вы должны импортировать каждый файл отдельно. Предполагая, что ваш файл имеет заголовки, что-то вроде

d1 <- read.csv("your_file1_name.csv", headers=TRUE) d2 <- read.csv("your_file2_name.csv", headers=TRUE)

Если ваши заголовки содержат полезные имена (например, "Время", "88высота", "количество осьминогов" и т. д.), ваш фрейм данных будет иметь те же имена столбцов после прохождения заголовков через make.names(), что скрывает заголовки к допустимым именам столбцов фрейма данных R.

например,

d1$Time d1$number.of.octopus d2$X88height

Если вы хотите, чтобы фреймы данных были объединены в один большой фрейм данных, используйте rbind().

Если вам нужен вектор всех данных из определенного столбца из каждого фрейма данных, вы должны использовать c()

например.

total.octopus <- c(d1$number.of.octopus, d2$number.of.octopus)

В одном файле гораздо больше точек данных, чем в другом (3 600 000 против 80 000). Как выбрать каждую n-ю строку в CSV-файле?

Чтобы выбрать каждую 9-ю строку, скажем, d1, вы должны индексировать:

idx <- seq(1, nrow(d1), by=9) d1_samp <- d1[idx,] #note the comma and blank - means "every column"

Из-за отсутствия примеров это только моя интерпретация ваших потребностей. Если это не ответ на ваш вопрос, вы быстрее доберетесь до цели, если опубликуете образец или игрушечный пример кода, который мы можем запустить и который показывает, что вы пробовали. Например, какой график вы пытаетесь построить? Диаграмма рассеяния? Тренд? Бархарт? И какие данные? Временные ряды? Число против категории? и т. д.