r - 在R中的数据框中旋转行和列
问题描述
我想在 R 中旋转一个 data.frame。我的数据框如下所示:
d <- data.frame( A = c("Att1","Att2"), b = c(12,10), c =c(8,9), d =c (1,2))
最后我的数据框应该如下所示:
d2 <- data.frame( name = c("B","C","D"), Att1 = c(10,8,1), Attr2 = c(10,9,2))
我已经尝试使用 t() 方法,但总是出现这个错误:Column d
must be a 1d atomic vector or a list
如何对数据框执行旋转操作?谢谢你的帮助!问候
解决方案
您需要先转置它,然后按照以下步骤操作
library(tibble)
df <- data.frame(t(d), stringsAsFactors = F)
colnames(df) <- df[1, ] #assign 1st row to column name
df <- df[-1, ]
df <- rownames_to_column(df, "name") #assign row name to a new column
给
> df
name Att1 Att2
1 b 12 10
2 c 8 9
3 d 1 2
样本数据:
d <- structure(list(A = structure(1:2, .Label = c("Att1", "Att2"), class = "factor"),
b = c(12, 10), c = c(8, 9), d = c(1, 2)), class = "data.frame", row.names = c(NA,
-2L))
推荐阅读
- swift - 当我运行我的程序时,模拟器只显示“人”部分,但不显示“视频”部分
- c# - SignalR 在集线器或控制器中实现 CRUD 方法
- tableau-api - Percentile_rank 计算作为计数计算的过滤器
- php - RSA 签名验证 - OpenSSL 与 phpseclib
- visual-studio - 用于 linux 的 windows 子系统上的外部可执行文件的 launch.vs.json 文件配置
- powershell - 通过 cmd.exe 调用的 powershell.exe 命令中的嵌套 cmd.exe 命令
- salesforce - Salesforce 批量 API 删除运算符
- postgresql - 将文本转换为 UTC 时间戳
- nginx - 在 Ubuntu 服务器上安装 Openresty
- javascript - DataTables 仅打印选定的选项