r - 如何使用 tidyverse 向带有管道的数据框添加行?
问题描述
例子
考虑这个数据框
abc
efg
hij
(abc 是列)
我想把它转换成
X
abc
efg
hij
X 现在是主列名,abc 在值中
我试过这个
df %>% mutate(X = abc)
这把它变成
X
efg
hij
随着 abc 消失
解决方案
如果您有多个列,您可以执行以下操作:
library(dplyr)
names(df) %>%
t %>%
as.data.frame() %>%
setNames(names(df)) %>%
bind_rows(df) %>%
rename_all(~LETTERS[seq_len(ncol(df))])
# A
#1 abc
#2 efg
#3 hij
对于只有一列,它可以简化一点。
names(df) %>%
setNames(names(df)) %>%
bind_rows(df) %>%
rename(X = abc)
# X
# <chr>
#1 abc
#2 efg
#3 hij
推荐阅读
- javascript - 哪个更好
我一直在使用带有脚本标签的 defer 属性,但刚刚发现 <link rel="prefetch" as="script" 是一个东西,但找不到更好或首选的东西?这些方法之间有什么区别?
<link rel="prefetch" href="library.js" as="script">
<- javascript - JavaScript 中的 Array.filter() 方法
- amazon-web-services - 从移动应用程序将图像上传到 AWS S3
- python - 如何在 pydatatable 中的列之间应用聚合(sum、mean、max、min 等)?
- json - 如何在一行上使用 CURL 传递数据
- java - 只否定正则表达式的一部分(制表和一个词)?
- python - python中的随机数、字符串和整数
- mysql - .bak 文件从 MYSQL 到 MS SQL SERVER
- python - 重命名一个数据框的列重命名第二个df
- c# - 在 Asp.Net core v3.1 中增加上传文件大小