Проблема:
Я (намагаюсь) побудувати a data.frame
в R, де назву стовпця іноді містять знаки пунктуації, такі як "?".
Однак, R перетворює їх на "." , наприклад:
Код
t= data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400))
t= data.frame("a.a" = c(1,2,3), "bee" = c(200,300,400))
обидва повертаються
t
a.a bee
1 1 200
2 2 300
3 3 400
Я також не можу втекти, щоб працювати (і хотіли б уникнути цього, оскільки у мене багато рядків без спеціальних символів).
t= data.frame("a\?a" = c(1,2,3), "bee" = c(200,300,400))
> t
a..a bee
1 1 200
2 2 300
3 3 400
Питання:
Я хотів би мати символи, такі як знаки питання та точки, представлені в моїх іменах стовпців (стовпчики містять результати пошуку для регулярного виразу); принаймні, вони повинні бути чітко окреслені.
- Чи є якийсь спосіб це зробити?
Я відчував, що це могло раніше бути виховане, але не знайшлося тут; вдячний за будь-які вказівки. Дякую!
Відповіді:
4 для відповіді № 1Імена стовпців data.frame повинні бути дійсними іменами змінних для використання з функціями, що підтримують нестандартні інтерфейси оцінки та формули. The data.frame
Функція виконує ці вимоги шляхом "очищення" імен для вас через make.names()
функція Якщо ви наполягаєте на використанні "невірних" імен, просто встановіть check.names=
параметр FALSE.
data.frame("a?a" = c(1,2,3), "bee" = c(200,300,400), check.names=FALSE)
# a?a bee
# 1 1 200
# 2 2 300
# 3 3 400