我的样本数据如下:
structure(list(v1 = 1:4, v2 = c(2L, 3L, 4L, 2L), v3 = 1:4, v4 = c(4L,
3L, 2L, 3L)), .Names = c("v1", "v2", "v3", "v4"), class = "data.frame", row.names = c(NA,
-4L))
我想获得一个包含列名及其索引的表。 E.g。
v1 v2 v3
1 2 3
我尝试了以下代码(在搜索各种论坛和互联网之后,但它总是返回NA或某些错误)
> lapply(df, function(x) match(x, names(df)))
$v1
[1] NA NA NA NA
$v2
[1] NA NA NA NA
$v3
[1] NA NA NA NA
$v4
[1] NA NA NA NA
> lapply(df, function(x) which(colnames(df)==x))
$v1
integer(0)
$v2
integer(0)
$v3
integer(0)
$v4
integer(0)
非常感谢您提前花时间和精力。
答案 0 :(得分:3)
这应该有效:
aa <- 1:ncol(iris) ## create vector of indices of the right size
names(aa) <- names(iris) ## name entries
aa