简体   繁体   English

使用 R:重命名 dataframe 中的列

[英]Using R: Renaming columns in the dataframe

I have just started learning R, but i am having trouble understaning it.我刚刚开始学习 R,但我无法理解它。

So this is the requested action "Use the names() command to rename the columns of Mymatr in the data frame."所以这是请求的操作“使用 names() 命令重命名数据框中 Mymatr 的列”。

Mydat <- data.frame(Multof2,Language,mylet,Mymatr,Lessthan15=Multof2<15) Mydat Mydat <- data.frame(Multof2,Language,mylet,Mymatr,Lessthan15=Multof2<15) Mydat

names(Mydat) names名称(Mydat)名称

names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4") Mydat名称(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4") Mydat

and this is what i am receiveing Mydat Multof2 Language mylet X1 X2 Lessthan15 1 2 English A 1 21 TRUE 2 4 English Z 2 22 TRUE 3 6 English C 3 23 TRUE 4 8 English C 4 24 TRUE 5 10 English Q 5 25 TRUE 6 12 Greek V 1 26 TRUE 7 14 Greek C 2 27 TRUE 8 16 Greek V 3 28 FALSE 9 18 Greek W 4 29 FALSE 10 20 Greek A 5 30 FALSE 11 22 English P 1 31 FALSE 12 24 English A 2 32 FALSE 13 26 English E 3 33 FALSE 14 28 English R 4 34 FALSE 15 30 English V 5 35 FALSE 16 32 Greek J 1 36 FALSE 17 34 Greek Q 2 37 FALSE 18 36 Greek I 3 38 FALSE 19 38 Greek W 4 39 FALSE 20 40 Greek V 5 40 FALSE这就是我收到的mydat multof2语言mylet x1 x2 LessThan15 1 2英语A 1 21 True 2 4英语Z 2 22 True 3 6英语Z0D61F8370CAD1D41D41D41D41D412F80B84D143E1257Z 33 23 23 23 TRUE 4 8 ENGLILI 12 希腊语 V 1 26 正确 7 14 希腊语 C 2 27 正确 8 16 希腊语 V 3 28 错误 9 18 希腊语 W 4 29 错误 10 20 希腊语 A 5 30 错误 11 22 英语 P 1 31 6 32 错误 12 24 英语 2英语 E 3 33 FALSE 14 28 英语 R 4 34 FALSE 15 30 英语 V 5 35 FALSE 16 32 希腊语 J 1 36 FALSE 17 34 希腊语 Q 2 37 FALSE 18 36 希腊语 I 3 48 FALSE 9 F ALSE 20 希腊语 3 48 FALSE 9 FALSE 3 希腊语V 5 40 错误

names(Mydat) [1] "Multof2" "Language" "mylet" "X1" "X2" "Lessthan15" names function (x).Primitive("names")名称(Mydat)[1]“Multof2”“语言”“mylet”“X1”“X2”“Lessthan15”名称 function (x).Primitive(“名称”)

names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4","Mymatr5","Mymatr6","Mymatr7") Error in names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", : 'names' attribute [7] must be the same length as the vector [6] In addition: Warning message: In names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", : number of items to replace is not a multiple of replacement length names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4",) Error in c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", ): argument 5 is empty names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4") Error in names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4"): 'names' attribute [7] must be the same length as the vector [6]名称(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4","Mymatr5","Mymatr6","Mymatr7") 名称错误(Mydat)[4: 7] <- c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", : 'names' 属性 [7] 必须与向量长度相同 [6] 另外:警告消息:在名称( Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", : 要替换的项目数不是替换长度名称的倍数(Mydat)[4:7] < - c("Mymatr1","Mymatr2","Mymatr3","Mymatr4",) c("Mymatr1", "Mymatr2", "Mymatr3", "Mymatr4", ) 中的错误:参数 5 是空名称 (Mydat) [4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4") 名称错误(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3 ", "Mymatr4"): 'names' 属性 [7] 必须与向量 [6] 的长度相同

names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3") Error in names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3"): 'names' attribute [7] must be the same length as the vector [6] In addition: Warning message: In names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3"): number of items to replace is not a multiple of replacement length名称(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3") 名称错误(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", "Mymatr3 "): 'names' 属性 [7] 必须与向量 [6] 长度相同另外:警告消息:在 names(Mydat)[4:7] <- c("Mymatr1", "Mymatr2", " Mymatr3"):要替换的项目数不是替换长度的倍数

I have tried adding and removing names, as it says that the length is not the same as the vector.我尝试添加和删除名称,因为它说长度与向量不同。

Any ideas on what i am doing wrong?关于我做错了什么的任何想法?

Thnx谢谢

This will work:这将起作用:

names(Mydat)[4:7] <- c("Mymatr1","Mymatr2","Mymatr3","Mymatr4")

or或者

library(data.table)

setnames(Mydat, old = c(4:7), new = c("Mymatr1","Mymatr2","Mymatr3","Mymatr4"))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM