R:创建索引向量

时间:2017-11-08 05:04:42

标签: r vector naivebayes

我需要一些关于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)。这需要为Naive Bayes创建训练数据。我知道如何创建一个包含214个值的向量,但不是一个具有来自数据框的观察的特定索引的向量。

如果要为Naive Bayes设置训练数据有所帮助,谢谢

2 个答案:

答案 0 :(得分: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的列...我会称之为&#39; index&#39 ; ......我可以这样做:

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

答案 1 :(得分:0)

希望这会有所帮助

 df$ind <- seq.int(nrow(df))