r - 在 R 中,将 data.frame 转换为不包含列表的标准小标题
问题描述
如何将以下 data.frame 转换为可比较/传统的小标题(即不包含列表);为什么会发生这种行为/可以避免吗?
df_test <- structure(list(Dim1 = structure(list(0.1, 4, NA_real_, NA_real_,
NA_real_), .Names = c("one", "two", "adfae", NA, "")), Dim2 = structure(list(
2, 5, NA_real_, NA_real_, NA_real_), .Names = c("one", "two",
"adfae", NA, "")), Dim3 = structure(list(3, 6, NA_real_, NA_real_,
NA_real_), .Names = c("one", "two", "adfae", NA, ""))), class = "data.frame", row.names = c("one",
"two", "adfae", "NA.", "X"))
tbble_test <- as_tibble(df_test)
tibble_test
提前致谢
解决方案
每一列都是一个list
,
str(df_test)
#'data.frame': 5 obs. of 3 variables:
# $ Dim1:List of 5
# ..$ one : num 0.1
# ..$ two : num 4
# ..$ adfae: num NA
# ..$ NA : num NA
# ..$ : num NA
# $ Dim2:List of 5
# ..$ one : num 2
# ..$ two : num 5
# ..$ adfae: num NA
# ..$ NA : num NA
# ..$ : num NA
# $ Dim3:List of 5
# ..$ one : num 3
# ..$ two : num 6
# ..$ adfae: num NA
# ..$ NA : num NA
# ..$ : num NA
我们可以先unlist
,它应该工作
df_test[] <- lapply(df_test, unlist)
as_tibble(df_test)
或使用tidyverse
library(dplyr)
df_test %>%
mutate(across(everything(), unlist)) %>%
as_tibble
推荐阅读
- pm2 - 在 Digital Ocean 上使用 pm2 启动多个 Nuxtjs 项目
- reactjs - Material UI:如何提取文本字段的值
- python - numpy.where() 与布尔数组索引有何不同?
- c# - 使用 c# 创建具有 3 个或更多级别的报告
- javascript - 在第一个下拉列表更改完成后设置下拉列表的值
- reactjs - 反应钩子useEffect抛出赋值给const变量错误
- sql - Group by 子句在 oracle 中执行需要更多时间
- java - void 方法的单元测试应该是什么样子?
- vb.net - 如果我在访问文件中添加数据,但当通过应用程序输入数据时,我的表工作正常
- c++ - 如何选择用于 GitHub Actions 作业的 C/C++ 编译器?