【问题标题】:I needed help to convert below R dataframe我需要帮助来转换以下 R 数据框
【发布时间】:2021-08-30 15:19:40
【问题描述】:

我需要帮助来转换以下 R 数据框。谁能帮我做到这一点? 我试过了

df:

YRMONTH  | ABC | BCD | CDA | ING
---------------------------------
Jan-2021 | 123 | 123 | 123 | 123
FEB-2021 | 124 | 124 | 0   | 124
MAR-2021 | 125 | 125 | 125 | 125
APR-2021 | 126 | 126 | 126 | 0

输出:

YRMONTH | Jan-2021 | FEB-2021 | MAR-2021 | APR-2021 ...
---------------------------------------------------
ABC     | 123      | 124      | 125      | 126 
BCD     | 123      | 124      | 125      | 126
CDA     | 123      | 0        | 125      | 126
ING     | 123      | 124      | 125      | 0

提前感谢您的帮助。

【问题讨论】:

  • 只需将t() 应用于您的原始数据框即可开始。您可能需要将行名移动到一列并转换回数据框(t() 可能会将您的数据转换为矩阵),但应保留所有信息。

标签: r transpose


【解决方案1】:

我们可以使用data.table::transpose

data.table::transpose(df, make.names = 'YRMONTH', keep.names = 'YRMONTH')

-输出

   YRMONTH Jan-2021 FEB-2021 MAR-2021 APR-2021
1     ABC      123      124      125      126
2     BCD      123      124      125      126
3     CDA      123        0      125      126
4     ING      123      124      125        0

数据

df <- structure(list(YRMONTH = c("Jan-2021", "FEB-2021", "MAR-2021", 
"APR-2021"), ABC = 123:126, BCD = 123:126, CDA = c(123L, 0L, 
125L, 126L), ING = c(123L, 124L, 125L, 0L)), class = "data.frame", 
   row.names = c(NA, 
-4L))

【讨论】:

  • 太棒了,谢谢@akrun 先生
猜你喜欢
  • 2020-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 1970-01-01
  • 2014-05-01
相关资源
最近更新 更多