【问题标题】:R/Shiny: Transpose and add data to DataframeR/Shiny:转置数据并将数据添加到 Dataframe
【发布时间】:2022-01-28 02:52:59
【问题描述】:

我正在尝试找出一种方法来转置数据,然后将该数据添加到单独的数据帧中。

我有

Column 1 | Column 2| Column 3
________________________________
Data 1   | Data 2  | Data 3   

在一个单独的数据框中,我有

actualColumn1| actualColumn2
________________________________
Column 1   | otherData 2   
Column 2   | otherData 2   
Column 3   | otherData 2   

想去:

actualColumn1| actualColumn2|addedData
________________________________
Column 1   | otherData 2 | Data 1  
Column 2   | otherData 2 | Data 2  
Column 3   | otherData 2 | Data 3

由于第一个数据帧中的列名与actualcolumn1 中的行完全对应。如果我没有很好地解释这一点,我很抱歉。我还是 R/Shiny 和数据框操作的新手。

【问题讨论】:

  • 删除熊猫~
  • @BENY 我的 Python 正在显示 ;) 抱歉!
  • R 已经融化然后合并
  • thisthis 回答你的问题吗?
  • t() 将为您提供转置,但如果您正在使用数据框,则必须将其更改回数据框。 (t() 会将其更改为矩阵)

标签: r dataframe transpose


【解决方案1】:

您可以使用pivot_longer() 重新调整数据框,将 3 个变量的 1 个观察值转换为 1 个带有 3 个观察值的变量,然后加入另一个数据框。

library(tidyverse)

df1 %>% 
  mutate(x = 1) %>% 
  pivot_longer(cols = -x, names_to = "actualColumn1", values_to = "addedData") %>% 
  select(-x) %>% 
  left_join(x = df2, y = .)

# Joining, by = "actualColumn1"
#    actualColumn1 actualColumn2 addedData
# 1:      Column 1   otherData 2    Data 1
# 2:      Column 2   otherData 2    Data 2
# 3:      Column 3   otherData 2    Data 3

数据:

df1 <- data.table::fread("Column 1 | Column 2| Column 3
Data 1   | Data 2  | Data 3   ")

df2 <- data.table::fread("actualColumn1| actualColumn2
Column 1   | otherData 2   
Column 2   | otherData 2   
Column 3   | otherData 2   ")

【讨论】:

  • 我认为这样做可以,但由于类型不兼容,我遇到了一个问题Warning: Error in : Can't join on x$id` x y$id。 i x$id 属于 > 类型。 i y$id> 类型的。` 有没有在不添加太多代码的情况下进行转换?
  • 您需要添加实际数据的 sn-ps。我根据您的问题猜测,您的其他数据帧中的 actualColumn1 包含与预转置数据帧的列名相同的值。根据您的错误,显然不是吗?如果我错了,那么您可以在加入连接之前简单地执行mutate(id = as.double(id))
  • 它不再出错,但由于某种原因,“addData”列没有被添加到 df2
  • 你分配结果了吗? df2 &lt;- df1 %&gt;%... left_join(x=df2, y = .)
猜你喜欢
  • 1970-01-01
  • 2016-01-16
  • 2021-01-23
  • 2016-04-27
  • 1970-01-01
  • 2019-08-12
  • 2016-09-10
  • 2020-02-12
  • 2022-01-17
相关资源
最近更新 更多