鉴于此数据:
data <- read.table(text="
age married house income gender class
1 22 0 0 28 1 0
2 46 0 1 32 0 0
3 24 1 1 24 1 0
4 23 0 1 40 0 1
5 50 1 1 28 0 1
")
每当我获取多个值的一部分时,我也会获得行和/或列名称, 例如:
> data[1, 1:2]
age married
1 22 0
是否有某种方法可以删除任何名称并使其无名(无标签)而不事先将任何内容显式设置为NULL(或加载到row.names=F
等文件中)?
目标只是确保在调用无名(..)之类的东西时不附加任何内容。
# Not OK
colnames(data) <- NULL
data[1, 1:2]
# OK
nameless(data[1, 1:2])
[1] 22 0
示例:
output
[[1]]
income
4 36 2 3 NA
[[2]]
age
1 48 4 5 NA
答案 0 :(得分:3)
看起来有点傻,但是怎么样:
unname(unlist(data[1, 1:2]))
#[1] 22 0
答案 1 :(得分:2)
unlist()
有一个use.names
参数,会删除名称。
unlist(data[1, 1:2], use.names = FALSE)
或者如果返回的所有内容属于同一类型,您可以使用例如as.integer()
就可以了:
as.integer(data[1, 1:2])
答案 2 :(得分:0)
从@alexwhan借用unname
unname(c(data1[1,1:2]))
[1] 22 0