2016-04-21 121 views
0

這是我第一次嘗試Spark R在Databricks Cloud Community Edition上完成與RStudio一樣的工作。但遇到了一些奇怪的問題。如何將Spark R數據框轉換爲R列表

似乎Spark R支持像ggplot2,plyr這樣的軟件包,但數據必須是R列表格式。當我使用train <- read.csv("R_basics_train.csv")時,我可以在R Studio中生成這種類型的列表,變量train當您使用typeof(train)時,這裏列出了一個列表。

但是,在Spark R中,當我讀取與「train」相同的csv數據時,它將被轉換爲dataframe,並且這不是我們之前使用的Spark Python DataFrame,因爲我不能使用collect()函數轉換成列表....當你使用typeof(train),它顯示的類型是"S4",但實際上類型是數據幀....

所以,反正在Spark R中,我可以將數據幀轉換爲R列表,以便我可以使用ggplot2中的方法,plyr?

你可以在這裏找到原始的.csv訓練數據: train

+1

你能告訴我們什麼是'輸(火車)'嗎? – JackeJR

+0

我把.csv訓練數據放在我的GitHub中:https://github.com/hanhanwu/Hanhan_Data_Science_Practice/blob/master/R_basics_train.csv –

+0

或者'dput(head(train))'如果火車很大,並且if 「頭」在它上面工作 – jaimedash

回答

1

後來我發現,使用r_df <- collect(spark_df)將引發數據幀轉換成R數據幀,雖然它的數據幀不能使用[R摘要(),其中R數據幀,我們可以做很多R操作。

0

不確定是否將此稱爲sparkR的缺點,但爲了利用R必須提供的許多好功能,例如數據探索,ggplot庫,您需要將pyspark數據幀轉換爲正常數據幀呼叫收集

df <- collect(df)