【问题标题】:How to fill blank data using several data frames如何使用多个数据框填充空白数据
【发布时间】:2019-06-03 21:46:09
【问题描述】:

我有两个数据框如下:

df1<- read.table( text="id	time	group	class 	income
  12	NA	NA	NA	NA
  17	NA	NA	NA	NA
                   19	NA	NA	NA	NA
                   36	NA	NA	NA	NA
                  14	NA	NA	NA	NA
                  15	NA	NA	NA	NA
                   8	NA	NA	NA	NA
                   22	NA	NA	NA	NA
                   33	NA	NA	NA	NA
                    11	NA	NA	NA	NA
                  ",h=T)

第二个数据框如下:

df2<- read.table( text="id	time	group	class 	income age
17	3	A	1	2	12
11	6	A	3	12	11
36	9	E	2	11	23
19	19	E	2	13	13
8	23	M	2	14	14
15	11	M	1	16	13
12	3	P	1	15	15
14	3	Q	2	13	13
33	4	Z	3	19	13
22	5	G	3	20	11",h=T)

我想用 ids 得到下表

df3<- read.table( text="id	time	group	class 	income

12	23	P	1	15
17	3	A	1	2
19	3	E	2	13
36	5	E	2	11
14	3	Q	2	13
15	3	M	1	16
8	23	M	2	14
22	5	G	3	20
33	4	Z	3	19
11	6	A	3	12",h=T)

很抱歉,我未能找到一些可能的解决方案来展示我的尝试。感谢您的帮助。

【问题讨论】:

  • 我认为预期的值不匹配
  • 家庭加入套餐dplyr.

标签: r tidyverse


【解决方案1】:

这是一个dplyr 解决方案,假设您希望id 的顺序来自df1,大部分数据来自df2

library(dplyr)
df1 %>% 
  select(id) %>%
  left_join(df2) %>%
  select(-age)

Joining, by = "id"
   id time group class income
1  12    3     P     1     15
2  17    3     A     1      2
3  19   19     E     2     13
4  36    9     E     2     11
5  14    3     Q     2     13
6  15   11     M     1     16
7   8   23     M     2     14
8  22    5     G     3     20
9  33    4     Z     3     19
10 11    6     A     3     12

【讨论】:

    猜你喜欢
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 2019-10-01
    • 2023-03-17
    • 2018-04-09
    • 1970-01-01
    • 2018-09-27
    相关资源
    最近更新 更多