从R中的data.frame中提取值

时间:2015-03-11 05:23:53

标签: r dataframe

我有一个数据框,我想提取一个值。

hospital <- c("Clanton", "Shelby", "UAB")
score    <- c(1, 2, 3)
d        <- data.frame(hospital, score)
d[1,1]

返回

 Factor w/ 3 levels "Clanton","Shelby",..: 1

如何从此数据框返回"Clanton"

2 个答案:

答案 0 :(得分:1)

R仍应返回“Clanton”,但它会将其作为一个因子返回,因此它将列出提取它的列中的所有因子。有两种方法可以解决这个问题。第一种是将数据框列定义为字符值的向量。

d <- data.frame(hospital, score, stringsAsFactors=F)

第二种方法允许数据框将数据保留为因子,但在提取时将因子转换为字符值。

as.character(d[1,1])

答案 1 :(得分:0)

当您想要从Clanton医院返回所有行时,可以使用以下代码:

d[d$hospital=="Clanton",]

选择列医院等于Clanton的所有列。