在tidyr中使用spread()来转动和丢弃NA

时间:2016-04-27 03:36:28

标签: r tidyr

我正在使用R,我有像

这样的数据
California | Los Angeles  
California | San Diego  
California | San Francisco  
New York | Albany  
New York | New York City  

我想转换为

California | New York  
Los Angeles | Albany  
San Diego | New York City  
San Francisco | NA

我正在spread()尝试使用tidyr,但却无法按照我需要的方式提供输出。我能来的最近的是

California | New York  
Los Angeles | NA  
San Diego | NA  
San Francisco | NA  
NA | Albany  
NA | New York City 

有人可以帮助我以理想的格式获取它吗?

1 个答案:

答案 0 :(得分:0)

以下是我在基地的表现:

df<-data.frame(v1=c(rep("California",3), rep("New York",2)), v2=c("Los Angeles", "San Diego", "San Franciso", "Albany", "New York City"))

cali<-as.character(df[df$v1=="California", 2])
ny<-as.character(df[df$v1=="New York", 2])

new <- data.frame(California=cali, NewYork=c(ny, NA))

new
    California       NewYork
1  Los Angeles        Albany
2    San Diego New York City
3 San Franciso          <NA>