gpt4 book ai didi

r - 将行值转换为 r 中的列名

转载 作者:行者123 更新时间:2023-12-05 00:58:24 24 4
gpt4 key购买 nike

假设我有以下数据框:

a<-data.frame(A=3,B=9,C=10,D=6)
b<-data.frame(A="i3",B="i9",C="i10",D="i6")
c<-data.frame(A=3,B=9,C=10,D=6)
d<-data.frame(A=3,B=9,C=10,D=6)
e<-rbind(a,b,c,d)
print(e)
A B C D
1 3 9 10 6
2 i3 i9 i10 i6
3 3 9 10 6
4 3 9 10 6

我正在尝试转换数据框,以便第二行中的值成为数据框的列名,因此产生以下结果:
print(f)
i3 i9 i10 i6
1 3 9 10 6
3 3 9 10 6
4 3 9 10 6

我写了以下内容:
f<-e[-2,]
colnames(f)<-e[2,]

这似乎适用于这个小数据框;但是,对于较大的数据帧,它似乎无法正常工作。例如,以下是较大数据框的片段:
print(results2t)
V1 V2 V3
analysisID 118 118 118
Node 20 20 20
Dependent_Variable i1 i1 i1
Item b1 b17 i10
Overall_B_value -.03 .04 -.17
Overall_Std.Error .04 .08 .05

我已经运行了以下内容:
results2t2<-results2t[-4,]
colnames(results2t2)<-results2t["Item",]

并且
colnames(results2t2)<-results2t["Item",]

并且都不起作用(我试图将“项目”行中的值设为列名),因为所有列名都为 13:
print(results2t2)
13 13 13
analysisID 118 118 118
Node 20 20 20
Dependent_Variable i1 i1 i1
Overall_B_value -.03 .04 -.17
Overall_Std.Error .04 .08 .05

有什么想法吗?

最佳答案

以下对我有用:

#make sure you use unlist to convert the data.frame to a vector containing 
#the wanted names
colnames(results) <- unlist(results[row.names(results)=='Item',])
#remove the unneeded row
results <- results[!row.names(results)=='Item',]

输出:
> results
b1 b17 i10
analysisID 118 118 118
Node 20 20 20
Dependent_Variable i1 i1 i1
Overall_B_value -.03 .04 -.17
Overall_Std.Error .04 .08 .05

关于r - 将行值转换为 r 中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32566763/

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