Итак, мои данные загружены из CSV-файла.Я попытался загрузить его с помощью stringsAsFactors = FALSE
, но все равно получил ошибку.Первые 13 столбцов - это строки, остальные столбцы (начиная с 14) - числовые.Вот основной код:
library("readxl")
# Read data with facotr is False
data <- read.csv("PFR csvData.csv",stringsAsFactors = FALSE)
# Convert all numeric rows to numeric
data[,14:length(colnames(data))]<- as.numeric(as.character(unlist(data[,14:length(colnames(data))])))
# Convert all string rows to characters
data[,1:13]<- as.character(unlist(data[,1:13]))
Когда я проверяю класс каждого столбца через sapply(data, class)
, я получаю:
Rk Player Pos Age Date Lg Tm
"character" "character" "character" "character" "character" "character" "character"
H.A Opp Result G. Week Day Receiving_Tgt
"character" "character" "character" "character" "character" "character" "numeric"
Receiving_Rec Receiving_Yds Receiving_Y.R Receiving_TD Receiving_Ctch. Receiving_Y.Tgt Receiving_PPR
"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
Passing_Cmp Passing_Att Passing_Cmp. Passing_Yds Passing_TD Passing_Int Passing_Rate
"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
Passing_Sk Passing_Sk_Yds Passing_Y.A Passing_AY.A Passing_PPR Rushing_Att Rushing_Yds
"numeric" "numeric" "numeric" "numeric" "numeric" "numeric" "numeric"
Rushing_Y.A Rushing_TD Rushing_Half_PPR Total_Half_PPR
"numeric" "numeric" "numeric" "numeric"
Я также проверял на NA через apply(data, 2, function(x) any(is.na(x)))
и получал:
Rk Player Pos Age Date Lg Tm
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
H.A Opp Result G. Week Day Receiving_Tgt
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Receiving_Rec Receiving_Yds Receiving_Y.R Receiving_TD Receiving_Ctch. Receiving_Y.Tgt Receiving_PPR
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Passing_Cmp Passing_Att Passing_Cmp. Passing_Yds Passing_TD Passing_Int Passing_Rate
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Passing_Sk Passing_Sk_Yds Passing_Y.A Passing_AY.A Passing_PPR Rushing_Att Rushing_Yds
FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Rushing_Y.A Rushing_TD Rushing_Half_PPR Total_Half_PPR
FALSE FALSE FALSE FALSE
Итак, на данный момент, я думаю, что я загрузил свои данные без факторов, гарантирую, что все столбцы не являются факторами, приведя их типы в соответствие, и дважды проверим, посмотрев на класс каждого столбца.Я также удостоверился, что нет NA
Однако, когда я использую свою функцию агрегации, я получаю ошибку, связанную с факторами:
aggregate(data$Player, by = list(data$Total_Half_PPR), FUN = sum)
Error in Summary.factor(291L, na.rm = FALSE) :
‘sum’ not meaningful for factors
Я не уверен, что еще делать.Любая помощь приветствуется!