R:创建索引向量

问题描述 投票:0回答:2

我需要一些有关 R 编码的帮助。

数据集 Glass 由 214 行数据组成,其中每行对应一个玻璃样本。每行由 10 列组成。当视为分类问题时,第 10 列 (类型)指定每个观察/实例的类。其余列是可用于推断第 10 列的属性。这是第一行的示例

  RI    Na   Mg   Al    Si    K    Ca   Ba   Fe Type

1 1.52101 13.64 4.49 1.10 71.78 0.06 8.75 0.0 0.0 1

首先,我转换了第 10 列,以便 R 将其解释为因子而不是整数值。
现在我需要创建一个包含所有观测值索引的向量(必须具有值 1-214)。需要完成此操作才能为朴素贝叶斯创建训练数据。我知道如何创建一个包含 214 个值的向量,但不知道如何创建一个具有数据帧观测值的特定索引的向量。

如果有帮助的话,正在为朴素贝叶斯设置训练数据,谢谢

r vector naivebayes
2个回答
0
投票

我不完全确定我明白你想要做的事情......所以如果我的解决方案没有帮助,请原谅我。如果您的 df 的名称是“df”,只需使用 dplyr 包重新排序您的列并编写

library(dplyr)
df['index'] <- 1:214
df <- df %>% select(index,everything()) 

这是一个例子。这样我就可以发布完整的数据帧,我的数据帧将只有 10 行...

假设我的数据框是:

df <- data.frame(col1 = c(2.3,6.3,9.2,1.7,5.0,8.5,7.9,3.5,2.2,11.5), 
                col2 = c(1.5,2.8,1.7,3.5,6.0,9.0,12.0,18.0,20.0,25.0))

所以看起来像

   col1 col2
1   2.3  1.5
2   6.3  2.8
3   9.2  1.7
4   1.7  3.5
5   5.0  6.0
6   8.5  9.0
7   7.9 12.0
8   3.5 18.0
9   2.2 20.0
10 11.5 25.0

如果我想添加另一列,即 1,2,3,4,5,6,7,8,9,10...,我将其称为“索引”...我可以这样做:

library(dplyr)
df['index'] <- 1:10
df <- df %>% select(index, everything())

那会给我

  index col1 col2
1    1  2.3  1.5
2    2  6.3  2.8
3    3  9.2  1.7
4    4  1.7  3.5
5    5  5.0  6.0
6    6  8.5  9.0
7    7  7.9 12.0
8    8  3.5 18.0
9    9  2.2 20.0
10  10 11.5 25.0

0
投票

希望这会有所帮助

 df$ind <- seq.int(nrow(df))
© www.soinside.com 2019 - 2024. All rights reserved.