R使用行索引合并文件

R使用行索引合并文件,r,merge,row,R,Merge,Row,我正在使用R中的生存库。我在生存对象上使用了residuals(),它很好地输出了我想要的残差 我的问题是R如何处理它的行索引 下面是一个示例数据集。我的目标是将它们合并在一起 数据帧: > 1 - .2 > 2 - .4 > 3 - .6 > 4 - .8 输出: > 1 - .2X > 2 - .4X > 4 - .8X 输出是输入的子集(某些数据无法处理)。我想要的是将这个新列表添加回原始输入文件,以绘制和运行回归,等等 我不知道如何在简单的d

我正在使用R中的生存库。我在生存对象上使用了residuals(),它很好地输出了我想要的残差

我的问题是R如何处理它的行索引

下面是一个示例数据集。我的目标是将它们合并在一起

数据帧:

> 1 - .2
> 2 - .4
> 3 - .6
> 4 - .8
输出:

> 1 - .2X
> 2 - .4X
> 4 - .8X
输出是输入的子集(某些数据无法处理)。我想要的是将这个新列表添加回原始输入文件,以绘制和运行回归,等等

我不知道如何在简单的df[number]命令之外访问行索引。我认为我这样做的方法有点史前的;我将write.table()对象转换为实际打印的列,然后返回并基于这个新键合并。我觉得有一种更聪明的方法可以写出来并读回文件。有什么建议吗

我希望这不是重复的,因为我环顾四周,没有找到关于行索引的很好的解释

编辑:

我可以向数据框添加列名或行名,但如果对一维对象(我的输出文件)添加列名或行名,则会导致空值。一维对象只有一部分我无法访问的行

行名(res)

空的


您可以使用
res
创建适当的
data.frame
对象:

res.df <- data.frame(names=names(res), res=res)

res.df对于连接,可以使用plyr包中的merge()或join()

这里有一个关于这两方面的问题:


我发现join()更直观,具有SQL逻辑,而且似乎在处理大型数据集时表现更好。

您可以直接使用
合并
,而不是像上面建议的那样创建新对象

只要写下:

merge(df1, df2, by.x = 0, by.y = res)

然后,
by.x=0
引用
df1
的行名称。.y的
by
表示df2的行名称。合并是使用这些作为链接执行的。

您可以添加一列,其中包含行名:
d$names(编辑帖子以反映评论)