gpt4 book ai didi

r - 如何使用索引获取与 data.frame 隔离的变量名称?

转载 作者:行者123 更新时间:2023-12-03 21:29:53 26 4
gpt4 key购买 nike

给定一个与数据框隔离的变量,如何获取它的名称?它需要在内部完成索引(例如应用)的函数中工作。

df<-data.frame(a=1:10,b=1:10)

names(df[,1])

产生:

>NULL

test<-df[,1]
test[0]

这是一个可能有用的示例:

library(plyr)
relabel<-colwise(function(column){
column<-paste(names(column),column)})
relabel(df)

给予

data.frame(a=c(.1,.2,.3,...), b=c(.1,.2,...))

期望的结果是:

data.frame(a=c('a.1','a.2','a.3'), b=c('b.1','b.2', 'b.2'))

最佳答案

在索引中使用 drop = FALSE 参数,如下所示:

df<-data.frame(a=1:10,b=1:10)

names(df[,1, drop=FALSE])

这里有一个函数可以满足您的需求:

namer.guy <- function(x) paste(rep(names(x), nrow(x)),  unlist(x), sep=".")

namer.guy(df[, 1, drop=F])

编辑:根据 Etienne Low-Decarie 的要求...

namer.guy2 <- function(df){
name.paster <- function(i) paste(names(df)[i], df[, i], sep=".")
DF <- data.frame(sapply(seq_along(df), name.paster))
names(DF) <- names(df)
return(DF)
}

namer.guy2(df)

关于r - 如何使用索引获取与 data.frame 隔离的变量名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10458780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com