我的DF看起来像这样:
@ExceptionHandlers
我想在R中对其进行转换,以便多个' V'列具有重复的ID:
ID V1 V2 V3
A 100 200
B 100
C 300
D 400
E 223 233 4
在R或Excel中执行此操作的最佳方法是什么?
答案 0 :(得分:2)
我们可以使用melt
library(data.table)
setnames(melt(setDT(df), id.var="ID", na.rm=TRUE)[order(ID), -2, with = FALSE], 2, "V1")[]
# ID V1
#1: A 100
#2: A 200
#3: B 100
#4: C 300
#5: D 400
#6: E 223
#7: E 233
#8: E 4
答案 1 :(得分:2)
你也可以试试tidyr:
library(tidyr)
df <- df %>% gather(new, V1, 2:4) %>% filter(!is.na(V1))
如果您不希望“新”列添加此cody(库“dplyr”):
%>% select(id, V1)