在下面的代码中,我想将3431933
中第一行第六列的值my_data
添加到new_data
对象。
相反,它似乎是在添加数字2
。你能帮助我找到我出错的地方,或者我的根本误解可能是什么?
我的代码:
print(my_data);
new_data <- {};
my_row <- my_data[1,];
print(my_row[1,6]);
new_data <- rbind(new_data, c(my_row[1,6]));
print(new_data);
这是我在打印输出中看到的内容:
my_data
中的内容:
V1 V2 V3 V4 V5 V6 V7 V8
1 10705 indiv7_ACTGAC 2 270 271 3431933 3442637 <NA>
2 41094 indiv7_ACTGAC 2 886 891 10296043 10337136 10297027.1114
3 18841 indiv7_ACTGAC 2 3497 3498 41414296 41433136 <NA>
V9
1 <NA>
2 10335630.1686849
3 <NA>
打印出my_row[1,6]
的内容:
[1] 3431933
Levels: 10296043 3431933 41414296
打印出new_data
的内容:
[,1]
[1,] 2
答案 0 :(得分:1)
你有factor
(即分类变量),你需要转换为数字或字符
#instead of:
my_row[1,6]
# use:
as.numeric(as.character(my_row[1,6]))
在处理因素的情况下,当您将其打印出来时,它会跟随Levels: ....
(您也可以通过调用is.factor()
进行检查)。
您获得的数字2
代表变量的第二级。