/ / Używanie interpunkcji w nazwach kolumn R [duplicate] - r, string, dataframe

Używanie interpunkcji w nazwach kolumn R [duplicate] - r, string, dataframe

Problem:

Jestem (próbuję) skonstruować data.frame w R, gdzie nazwa kolumny czasami zawiera znaki interpunkcyjne, takie jak "?".

Jednak R przekształca je w "." , na przykład:

Kod

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))

zarówno powrót

t
a.a bee
1   1 200
2   2 300
3   3 400

Nie mogłem też uciekać do pracy (i chciałbym tego uniknąć, ponieważ mam mnóstwo strun bez specjalnych znaków).

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

Pytanie:

Chciałbym, aby w nazwach kolumn były takie znaki, jak znaki zapytania i kropki (kolumny zawierają wyniki wyszukiwania wyrażeń regularnych); w każdym razie powinny być odrębne.

  • Czy jest jakiś sposób to zrobić?

Czułem, że to mogło być wcześniej, ale nie mogłem go znaleźć tutaj; wdzięczny za wszelkie wskazówki. Dzięki!

Odpowiedzi:

4 dla odpowiedzi № 1

Nazwy kolumn danych.frame powinny być poprawnymi nazwami zmiennych do użycia z funkcjami, które obsługują niestandardowe interfejsy oceny i formuły. The data.frame funkcja egzekwuje te wymagania przez "czyszczenie" nazw przez ciebie make.names() funkcjonować. Jeśli nalegasz na używanie "nieprawidłowych" nazw, po prostu ustaw check.names= parametr 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