Не можете найти столбец, который существует в data.table? - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь создать группу, но говорит:

library(data.table)
DT <- fread("C:/Users/user/Desktop/Dataset.csv",encoding = 'UTF-8')
DT #until this all is fine
DT[, sum(as.numeric(Ποσότητα), na.rm=TRUE), by=.(user)]

Ошибка в [.data.table (DT, сумма (как .numeric (Ποσότητα), na.rm = TRUE),: объект 'Ποσότητα' не найден>

> colnames(DT)

"Ημερομηνία" "Χρήστης"    "Έργο"       "Εργασία"    "Ποσότητα" 


DT$Ποσότητα
  [1] "-"        "-"        "-"        "-"        "222"      "-"        "-"       
  [8] "5"        "1.460,65" "44"

его по-гречески. Прежде чем я перевел его, но лучше показать фактические слова.

1 Ответ

0 голосов
/ 21 сентября 2018

Символы Unicode не очень хорошо обрабатываются в именах переменных, и в основном это не рекомендуется делать в R. Пожалуйста, измените имена столбцов на английский перевод, как показано ниже:

library(data.table)
set.seed(123)

df <- as.data.table(matrix(rnorm(50), ncol = 5))
colnames(df) <- c("Ημερομηνία", "Χρήστης", "Έργο", "Εργασία", "Ποσότητα" )
sum(df$Ποσότητα)
# Error: unexpected input in "sum(df$\"


colnames(df) <- c("Date", "User", "Work", "Job", "Quantity")
sum(df$Quantity)
# OK: [1] -0.08715537
...