Я перерывал Интернет о том, как сделать это, но не удался найти способ на самом деле сделать это..
В основном у меня есть серия больших кадров данных, и я хочу преобразовать один из векторов - столбцов во всех этих наборах данных от строки символов, сказать, например: ASDFSDFSAFDSA, к его эквиваленту в формате ASCII. Я хочу сделать это в ударе, потому что они являются слишком большими для обработки в R.
Я знаю в Java и R, там функции, которые делают это, но не удались найти его эквивалент в ударе. Я посмотрел на xxd
функционируйте, а также некоторые сообщения на форуме, но они заканчивают тем, что дали мне просто несколько целых чисел, а не надлежащий формат ASCII.
Вот dput
вывод маленького отрывка данных:
structure(list(Clone.ID = 0:5, Clone.count = c(2454L, 1915L,
1369L, 1255L, 1152L, 1099L), AA..Seq..CDR3 = c("CASSNSDRTYGDNEQFF",
"CATSSVLTQQETQYF", "CASSSRGLANTQYF", "CASSLGTALNTEAFF", "CASSRRHLGNTGELFF",
"CASSEGRSNQPQHF")), row.names = c(NA, 6L), class = "data.frame")
Загруженные данные похожи на это:
Clone.ID Clone.count AA..Seq..CDR3
1 0 2454 CASSNSDRTYGDNEQFF
2 1 1915 CATSSVLTQQETQYF
3 2 1369 CASSSRGLANTQYF
4 3 1255 CASSLGTALNTEAFF
5 4 1152 CASSRRHLGNTGELFF
6 5 1099 CASSEGRSNQPQHF
Желаемый вывод был бы для col
AA.. Seq. CDR3, чтобы иметь следующие записи вместо этого:
067 065 083 083 078 083 068 082 084 089 071 068 078 069 081 070 070
067 065 084 083 083 086 076 084 081 081 069 084 081 089 070
067 065 083 083 083 082 071 076 065 078 084 081 089 070 #and so on...
Кроме того, это было бы идеально, если бы представление ASCII было как целое число, а не массив ints, как вывод для преобразования R - и Python также, я верю.
Любая справка очень ценилась бы.
Спасибо всем в течение Вашего времени,
Вы могли сделать что-то quick'n'dirty в Perl:
$ perl -alne 'print join " ", map { ord $_ } split //, $F[3] if $. > 1' datafile
67 65 83 83 78 83 68 82 84 89 71 68 78 69 81 70 70
67 65 84 83 83 86 76 84 81 81 69 84 81 89 70
67 65 83 83 83 82 71 76 65 78 84 81 89 70
67 65 83 83 76 71 84 65 76 78 84 69 65 70 70
67 65 83 83 82 82 72 76 71 78 84 71 69 76 70 70
67 65 83 83 69 71 82 83 78 81 80 81 72 70
Однако, если Вы уже обрабатываете данные в R
, затем необходимо рассмотреть использование его собственного компонента utf8ToInt
как описано здесь R: Как преобразовать символы в код ASCII?
Хм... я могу спросить, почему Вы хотите сделать это? Я лично, вероятно, сделал бы реверс, 'causr я больше бегло говорю на буквах, чем в десятичных кодах..
Однако давайте перефразируем Вашу проблемную статью, чтобы более точно определить цель: - у Вас есть в таблице столбец символов ASCII в диапазоне A-Z (или это также нижний регистр?) - Вы хотите, чтобы каждый символ был переведен с его десятичным числом cvalue по одному пространству и 3 цифрам
Bash имеет мощную строку / символьная замена, например,
zz=CABXAB; $ эха {zz///' 065'}