R将数据框导出为条目列表

时间:2012-07-30 20:06:57

标签: r export dataframe

我有一个数据框,包含起点和终点之间的距离。起点是行,终点是列。现在我希望逐个打印它们(起点终点距离换行)。应省略缺失值(NAs)。

这是我的数据框:

          EndPoint
    StartPoint TX001    TX002    TX003
         TX002  37.4       NA       NA
         TX003    NA 14.78704       NA
         TX005    NA       NA 60.78947

我想得到的是:

    TX002 TX001 37.4
    TX003 TX002 14.78704
    TX005 TX003 60.78947

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

如果我错过了商标,请使用dput提供您的数据样本。但是,假设您的数据如下所示:

dat <- structure(list(StartPoint = c("TX002", "TX003", "TX005"), TX001 = c(37.4, 
NA, NA), TX002 = c(NA, 14.78704, NA), TX003 = c(NA, NA, 60.78947
)), .Names = c("StartPoint", "TX001", "TX002", "TX003"), class = "data.frame", row.names = c(NA, 
-3L))

您可以使用melt包中的reshape2,然后使用na.omit删除额外的行。

> na.omit(melt(dat, 
               id.var='StartPoint', 
               variable.name='EndPoint', 
               value.name='Distance'))

  StartPoint EndPoint Distance
1      TX002    TX001 37.40000
5      TX003    TX002 14.78704
9      TX005    TX003 60.78947