R/Shiny:将数据转置并添加到Dataframe
R/Shiny: Transpose and add data to Dataframe
我正在尝试找出一种转置数据的方法,然后将该数据添加到单独的数据帧中。
我有
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 和数据帧操作还是个新手。
您可以使用 pivot_longer()
重塑数据框,将 3 个变量的 1 个观察值转换为具有 3 个观察值的 1 个变量,然后加入另一个数据框。
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 ")
我正在尝试找出一种转置数据的方法,然后将该数据添加到单独的数据帧中。
我有
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 和数据帧操作还是个新手。
您可以使用 pivot_longer()
重塑数据框,将 3 个变量的 1 个观察值转换为具有 3 个观察值的 1 个变量,然后加入另一个数据框。
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 ")