您的位置:首页 > 其它

R语言中常用的数据变量名修改方法总结

2018-03-03 21:03 295 查看

变量的重命名 常用的修改变量名的方法,分别是利用交互式编辑器,rename(),names(),colnames(), rownames().

1)交互式编辑器修改变量名

若用交互式编辑器来修改数据集中的变量名,可通过fix()函数实现。若数据集为矩阵或数据框,可直接单击弹出的编辑器对话框对变量名进行手动修改;若数据集为列表形式,则可将交互式编辑器转换为记事本,就可对“.names”之后对应的变量名进行修改。具体如下。

> score <- data.frame(student=c("A","B","c","D"),
+                         gender=c("E","E","E","E"),
+                         math=c(90,79,89,86),
+                         Eng=c(80,99,69,76),
+                         pl=c(66,59,NA,88))
> fix(score) # editor page
> score.list = as.list(score) #Convert to list format
> fix(score.list) # Notepad file

 2) reshape 逻辑包的Rename()可用于修改数据框和列表的变量名,但不能用于修改矩阵的变量名。

> library(reshape)
Error in library(reshape) : 不存在叫‘reshape’这个名字的程辑包
> install.packages("reshape")
> library(reshape)
> rename(score,c(pl="chinese"))
  student gender math Eng chinese
1       A      E   90  80      66
2       B      E   79  99      59
3       c      E   89  69      NA
4       D      E   86  76      88
> rename(score.list, c(pl="chinese"))
$student
[1] A B c D
Levels: A B c D
$gender
[1] E E E E
Levels: E
$math
[1] 90 79 89 86
$Eng
[1] 80 99 69 76
$chinese
[1] 66 59 NA 88

3)names()函数和rename()函数的作用相同,但不同之处在于,names()函数会在原数据集中修改变量名,但renames()函数并不会直接改变原数据集中的变量名

> names(score) [5]="chinese"
> score
  student gender math Eng chinese
1       A      E   90  80      66
2       B      E   79  99      59
3       c      E   89  69      NA
4       D      E   86  76      88

4)  colnames() and rownames()函数可以修改矩阵或数据框的行名和列名,但不可修改矩阵的变量名。

> colnames(score)[5]="Chinese"
> rownames(score) =letters[1:4]
> score
  student gender math Eng Chinese
a       A      E   90  80      66
b       B      E   79  99      59
c       c      E   89  69      NA
d       D      E   86  76      88
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  R