I have a data frame with one column and row names like this,
> df
freq
hello 4
sorry 2
bad 9
good 4
great 1
I want to change that to two columns as below and change row names,
> df
word freq
1 hello 4
2 sorry 2
3 bad 9
4 good 4
5 great 1
df <- data.frame(freq=c(4,2,9,4,1),row.names=c('hello','sorry','bad','good','great'));
df;
## freq
## hello 4
## sorry 2
## bad 9
## good 4
## great 1
df <- data.frame(word=rownames(df),freq=df$freq);
df;
## word freq
## 1 hello 4
## 2 sorry 2
## 3 bad 9
## 4 good 4
## 5 great 1
Edit: On second thought, a better way to do this, which avoids having to hard-code the name of the existing column, and will work with any number of existing columns, is as follows:
df <- data.frame(word=rownames(df),df,row.names=NULL);
df;
## word freq
## 1 hello 4
## 2 sorry 2
## 3 bad 9
## 4 good 4
## 5 great 1
你可以这样做
df$word=row.names(df)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.