从R中的数据帧中提取值

时间:2019-10-02 20:14:59

标签: r dataframe extract

我正在尝试从数据帧中提取单个值。而是返回值和变量的级别(见下文)。

如何确保它只返回值“缺陷”或“合作”而没有级别? '''

Response_1 = book[c("id1", "bid1")]
Response_2 = book[c("id2", "bid2")]

my_id = "3"

main_data1 = subset(Response_1,  Response_1$id1 %in% my_id)
main_data2 = subset(Response_2 , Response_2$id2 %in% my_id)
names(main_data2) = c("id1", "bid1")
names(main_data1) = c("id1", "bid1")

main_data = rbind(main_data1, main_data2)

print(main_data[length(main_data$bid1), 2])


> print(main_data[length(main_data$bid1), 2])
[1] cooperate
Levels: cooperate defect

1 个答案:

答案 0 :(得分:0)

由于您没有提供原始数据结构,因此我不知道它是什么,但是当您使用rbind时,您固有地会调用data.frame。默认情况下,data.frame的参数为stringsAsFactors = T

通常,您可以通过以下方法解决此问题:使用stringsAsFactors = F调用数据框,或使用df$column = as.character(df$column)之类的手动调整列

在这种情况下,如果您不想重新编码数据帧,请执行akrun所说的并致电print(as.character(main_data[length(main_data$bid1), 2]))