如何将cbinded数据帧转换为rbinded数据帧?

时间:2015-09-26 06:20:10

标签: r

我无法让它发挥作用。我所拥有的是一大堆已经- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI 组合在一起的类似数据帧(相同的列),我想现在得到的数据帧相当于cbind编辑它们。 例如

rbind

如果您可以添加一个指示符列,指定它来自哪个数据块(例如,在我们的示例中,每组5个观察结果将被标记为1,2或3列,并且#34;设置" )。

感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:4)

我们可以通过“df1”,split的列名,subset列的'df1'中的c列,连接(data.frame(lapply(split(1:ncol(df1), colnames(df1)), function(i) c(df1[,i]))) )列,然后转换为'数据.frame'

data.frame

注意:split不能有重复的行名。

在复制列名后,将data.frame数据集稍微更紧凑一个选项,用list包裹它以将data.frame转换为data.frame(split(df1, colnames(df1)[col(df1)]))

matrix

编辑:上述两种方法均基于OP的数据集为data.frame的假设(在OP的帖子编辑之前)。如果初始数据集为c,我们会将第一种方法中的unlist更改为df2 <- data.frame(lapply(split(1:ncol(df1), colnames(df1)), function(i) unlist(df1[,i], use.names=FALSE)) )

ave

如果我们需要创建指定数据块的指标列,我们可以使用df2$ind <- ave(seq_along(df1), colnames(df1), FUN=seq_along) 根据列名创建序列

<div id="info_icon-tooltip" class="tooltip"  style="max-width:auto; max-height:auto; border-color:#D80000;">
This is the information part
</div>