/ / Використання пунктуації в іменах стовпців R [дублікат] - r, рядок, кадр даних

Використання пунктуації в іменах стовпців R [дублікат] - r, рядок, кадр даних

Проблема:

Я (намагаюсь) побудувати 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