从其他 2 个 xdf 文件制作单个 xdf 文件
making a single xdf files from 2 other xdf files
我在 MS Visual Studio 中使用 RevoScaleR 包,但我卡在了一个步骤上。
我有一个 XDF 文件,其中有一列名为 "Total_Admits_Pred"。我有另一个 XDF 文件,其中包含一个名为 "Total_Admits" 的列。
两个 XDF 文件的行数相同。我想将这两个 XDF 文件合并到一个包含这两列的 XDF 文件中。我该怎么做?
谢谢!
托马斯
你会这样做:
xdf_df1 <- rxImport("<path/to/xdf1>")
xdf_df2 <- rxImport("<path/to/xdf2>")
xdfOut <- RxXdfData("<path/to/merged/xdf>") # Should not already exist
# This assumes that xdf2 was the one containing "Total_Admits_Pred"
# and that xdf1 contained "Total_Admits", you'll have to adjust this
# based on your data.
xdf_df1[["Total_Admits_Pred"]] <- xdf_df2$Total_Admits_Pred
# Verify the Data Frame is correct
head(xdf_df1)
# Export it
rxDataStep(inData = xdf_df1, outFile = xdfOut)
您可以使用 rxDataStep
:
将列添加到现有的 xdf 文件
xdf1 <- RxXdfData("file1.xdf") # dataset containing Total_Admits_Pred
xdf2 <- RxXdfData("file2.xdf") # dataset containing Total_Admits
rxDataStep(xdf1, xdf2, varsToKeep="Total_Admits_Pred", append="cols")
这将导致 file2.xdf
包含其所有预先存在的列,加上 Total_Admits_Pred
。
另一种方法是使用 dplyrXdf 包:
devtools::install_github("RevolutionAnalytics/dplyrXdf")
df <- data.frame(Total_Admits_Pred=xdf1$Total_Admits_Pred,
Total_Admits=xdf2$Total_Admits)
这将创建一个内存中的数据框,其中只有您想要的两列。与其他答案相比,这样做的优点是它只将 这两列读入内存。
我在 MS Visual Studio 中使用 RevoScaleR 包,但我卡在了一个步骤上。
我有一个 XDF 文件,其中有一列名为 "Total_Admits_Pred"。我有另一个 XDF 文件,其中包含一个名为 "Total_Admits" 的列。
两个 XDF 文件的行数相同。我想将这两个 XDF 文件合并到一个包含这两列的 XDF 文件中。我该怎么做?
谢谢!
托马斯
你会这样做:
xdf_df1 <- rxImport("<path/to/xdf1>")
xdf_df2 <- rxImport("<path/to/xdf2>")
xdfOut <- RxXdfData("<path/to/merged/xdf>") # Should not already exist
# This assumes that xdf2 was the one containing "Total_Admits_Pred"
# and that xdf1 contained "Total_Admits", you'll have to adjust this
# based on your data.
xdf_df1[["Total_Admits_Pred"]] <- xdf_df2$Total_Admits_Pred
# Verify the Data Frame is correct
head(xdf_df1)
# Export it
rxDataStep(inData = xdf_df1, outFile = xdfOut)
您可以使用 rxDataStep
:
xdf1 <- RxXdfData("file1.xdf") # dataset containing Total_Admits_Pred
xdf2 <- RxXdfData("file2.xdf") # dataset containing Total_Admits
rxDataStep(xdf1, xdf2, varsToKeep="Total_Admits_Pred", append="cols")
这将导致 file2.xdf
包含其所有预先存在的列,加上 Total_Admits_Pred
。
另一种方法是使用 dplyrXdf 包:
devtools::install_github("RevolutionAnalytics/dplyrXdf")
df <- data.frame(Total_Admits_Pred=xdf1$Total_Admits_Pred,
Total_Admits=xdf2$Total_Admits)
这将创建一个内存中的数据框,其中只有您想要的两列。与其他答案相比,这样做的优点是它只将 这两列读入内存。