Я недавно начал использовать SparkR и хотел бы запустить с ним корреляционный анализ . Я могу загружать контент в виде SparkR dataframe, но он не позволяет запускать простой анализ cor() с фреймом данных. (Получение ошибки S4 ниже):Запуск корреляций в SparkR: нет метода для принудительного применения этого класса S4 к вектору
usr/local/src/spark/spark-1.5.1/bin/sparkR --packages com.databricks:spark-csv_2.10:1.0.3
library(SparkR)
setwd('/DATA/')
Sys.setenv('SPARKR_SUBMIT_ARGS'='"--packages" "com.databricks:spark-csv_2.10:1.2.0" "sparkr-shell"')
sqlContext <- sparkRSQL.init(sc)
df <- read.df(sqlContext, "/DATA/GSE45291/GSE45291.csv", source = "com.databricks.spark.csv", inferSchema = "true")
results <- cor(as.data.matrix(df), type="pearson")
data.matrix (DF) Ошибка в as.vector (данные): нет способа принуждать этот класс S4 к вектору
Не существует встроенной корреляционной функции для SparkR? Как я могу исправить объект S4 для работы в R, где я могу выполнять базовые функции? Любые предложения люди оценены. Благодаря -Rich
Если вы можете опубликовать вывод 'str (df)', может возникнуть надежда понять, какие части этого объекта могут быть подходящими для принуждения к матрице. –
@ 42- Короткий ответ - нет. Исходный кадр данных в основном представляет собой тонкую оболочку вокруг объекта Java, которая содержит только рецепт создания/преобразования набора данных, а не самих данных. Если данные не собираются, здесь нечего использовать. – zero323
> ул (ДФ) Формальное класс 'DataFrame' [пакет "SparkR"] с 2-мя слотами .. @ окр: <окружающая среда: 0x2d0a620> .. @ SDF: Class 'jobj' <среда: 0x2d960c8> – greener