我在R中有一个数据框,看起来像这样,有两列:
ID phone_number
Mark 866458
Paul 986564
Jack 987543
Mary 523422
我想在只有一列的情况下获得这种输出
Mark
866458
Paul
986564
Jack
987543
Mary
523422
有人知道我可以使用哪个R代码来获取输出?
可重复性数据
structure(list(ID = c("Mark", "Paul", "Jack", "Mary"), phone_number = c(866458,
986564, 987543, 523422)), row.names = c(NA, -4L), class = c("tbl_df", "data.frame"))
答案 0 :(得分:7)
我们可以转置数据框,然后创建一个值向量
data.frame(new_col = c(t(df)))
# new_col
#1 Mark
#2 866458
#3 Paul
#4 986564
#5 Jack
#6 987543
#7 Mary
#8 523422
使用mapply
data.frame(new_col = c(mapply(c, df$ID, df$phone_number)))
答案 1 :(得分:2)
我们也可以
library(tidyverse)
pmap(df1, c) %>%
unlist %>%
tibble(new_col = .)
答案 2 :(得分:1)
/generated/source/apollo/generatedIR/main/
的一种可能性:
tidyverse
答案 3 :(得分:1)
具有中间df的较长方法,但根据您的完整数据集可能有一些价值:
library(tidyverse)
df1 <- df %>%
rowid_to_column() %>%
select(rowid, ID = phone_number)
df2 <- df %>%
rowid_to_column() %>%
select(rowid, ID) %>%
rbind(df1) %>%
arrange(rowid) %>%
select(ID)
结果:
ID
<chr>
1 Mark
2 866458
3 Paul
4 986564
5 Jack
6 987543
7 Mary
8 523422