Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R为数据帧用NA填充缺失值_R_List_Dataframe_Na - Fatal编程技术网

R为数据帧用NA填充缺失值

R为数据帧用NA填充缺失值,r,list,dataframe,na,R,List,Dataframe,Na,我目前正在尝试创建一个包含以下列表的数据框 location <- list("USA","Singapore","UK") organization <- list("Microsoft","University of London","Boeing","Apple") person <- list() date <- list("1989","2001","2018") Jobs <- list("CEO","Chairman","VP of sales","G

我目前正在尝试创建一个包含以下列表的数据框

location <- list("USA","Singapore","UK")
organization <- list("Microsoft","University of London","Boeing","Apple")
person <- list()
date <- list("1989","2001","2018")
Jobs <- list("CEO","Chairman","VP of sales","General Manager","Director")

location这里是
purrr
(属于
tidyverse
的一部分)和基本R解决方案,假设您只想用
NA
填充每个列表中的剩余值。我将任何列表的最大长度取为
len
,然后对每个列表执行
rep(NA)
,计算该列表的长度与任何列表的最大长度之间的差异

库(tidyverse)
地点3英国波音NA 2018销售副总裁
#>4 NA苹果公司NA总经理
#>5不适用董事
在base R中,您可以在列表列表中使用相同的函数,然后使用
Reduce
对结果列表进行
cbind
并将其转换为数据帧。采取两个步骤,而不是
purrr
的一个步骤:

cols V1 V2 V4 V5
#>1美国微软北美公司1989年首席执行官
2伦敦大学新加坡2001主席
#>3英国波音2018年北美销售副总裁
#>4 NA苹果公司NA总经理
#>5不适用董事
对于这两种情况,您现在可以随意设置名称。

您可以执行以下操作:

data.frame(sapply(dyem_list, "length<-", max(lengths(dyem_list))))

   location         organization person date            Jobs
1       USA            Microsoft   NULL 1989             CEO
2 Singapore University of London   NULL 2001        Chairman
3        UK               Boeing   NULL 2018     VP of sales
4      NULL                Apple   NULL NULL General Manager
5      NULL                 NULL   NULL NULL        Director

你打算怎么排队?什么日期对应于什么作业等?假设您希望NAs位于最后,我将使用类似的解决方案来解决固定的问题n@camille就本例而言,排队并不重要
dyem_list <- list(
  location = list("USA","Singapore","UK"),
  organization = list("Microsoft","University of London","Boeing","Apple"),
  person = list(),
  date = list("1989","2001","2018"),
  Jobs = list("CEO","Chairman","VP of sales","General Manager","Director")
)