Возможные дубликаты:How to sort a dataframe by column(s)?сортировки столбцов кадра данных
У меня есть кадр данных в различных порядках (в терминах столбцов).
ID_REF VALUE ABS_CALL DETECTION.P.VALUE
1 10071_s_at 3473.60000 P/present 0.000219000
2 1053_at 643.20000 P/present 0.000673000
3 117_at 564.00000 M/Marginal 0.000322000
4 1255_g_at 9.40000 A/absent 0.602006000
5 1294_at 845.60000 P/present 0.000468000
6 1320_at 94.30000 A/absent 0.204022000
Теперь ниже порядок столбцов изменяется
VALUE ID_REF ABS_CALL DETECTION P-VALUE
1 3473.6 10071_s_at P/present 0.000219
2 643.2 1053_at P/present 0.000673
3 564 117_at M/marginal 0.000322
4 9.4 1255_g_at A/absent 0.602006
5 845.6 1294_at P/present 0.000468
6 94.3 1320_at A/absent 0.204022
Опять изменяется
DETECTION P-VALUE VALUE ID_REF ABS_CALL
1 0.000219 3473.6 10071_s_at P
2 0.000673 643.2 1053_at P
3 0.000322 564 117_at M
4 0.602006 9.4 1255_g_at A
5 0.000468 845.6 1294_at P
6 0.204022 94.3 1320_at A
Здесь у меня есть один и тот же кадр данных в различных порядках столбцов. Я не знаю, порядок кадра данных, поэтому я хочу, чтобы поместить данные в формате ниже:
ID_REF VALUE ABS_CALL DETECTION.P.VALUE
1 10071_s_at 3473.60000 P/present 0.000219000
2 1053_at 643.20000 P/present 0.000673000
3 117_at 564.00000 M/Marginal 0.000322000
4 1255_g_at 9.40000 A/absent 0.602006000
5 1294_at 845.60000 P/present 0.000468000
6 1320_at 94.30000 A/absent 0.204022000
Здесь мне нужно, чтобы проверить, есть ли подстрока _at
в любом столбце затем положить, что в первый столбец. Если какой-либо столбец имеет значения больше 1, тогда поместите этот столбец в качестве второго столбца кадра данных. Если какая-либо колонка имеет уровни P
, A
, M
или present
, absent
, marginal
, тогда положите это как третий столбец и, наконец, любой столбец со значениями меньше 1 будет последним. Кто-нибудь может сказать мне, как это сделать в R эффективно?
Примечание: Имена столбцов не являются постоянными, это может быть что угодно (разные имена).
Спасибо и очень много. :) –
Если мне нужно найти все строки, потому что я не знаю, как поступают данные, если какая-либо запись отсутствует для любого столбца. Затем его нужно искать в другой строке, а также –
вы можете использовать 'na.omit (data) [1,]' вместо просто 'data [1,]'. na.omit будет отфильтровывать любую строку с любыми значениями NA, поэтому, если есть хотя бы одна строка со всеми значениями, это должно работать – rawr