现有一个df,如何用R重新新成一个新数据框:其中第一列为df的行,第二列为df的列,第三列为df的数据正文
时间: 2024-10-06 12:05:56 浏览: 21
新成新材:2021年半年度报告.rar
在R语言中,你可以使用`data.table`包或者基础的`matrix`函数来创建一个新的数据框,其结构符合你的描述。这里我会展示两种方法:
1. 使用`data.table`包:
```r
library(data.table) # 如果你还没有安装,需要先装这个包
# 假设df是一个现有的data.table对象
new_df <- data.table(row = row.names(df), col = names(df), value = df)
```
这将创建一个新数据框new_df,其中第一列是原数据框df的行名,第二列是列名,第三列是对应行、列的数据。
2. 使用基础的`matrix`函数:
```r
# 先转置df
t_df <- t(df)
# 创建新矩阵,并指定行、列名称
new_matrix <- as.data.frame(matrix(unlist(t_df), nrow = length(row.names(df)), byrow = TRUE))
names(new_matrix)[1:2] <- c("row", "col")
new_df <- as.data.table(new_matrix) # 转换为data.table格式
```
以上两种方法都会生成一个新的DataFrame,满足你的需求。注意,如果df不是data.table格式,你需要先转换为data.table。
阅读全文