我对R还是一个新手,我想知道是否有一种简单的方法可以操纵下面的df来达到df2。
我不确定这是否是一个循环,但基本上我想在每个V(X)_ID列和它对应的V(X)_No列上取一个distinct,如果V(X)_ID在后面的列中重复,我想忽略它,并移动下一个唯一的V(X)_ID和它关联的V(X)_No。
V1_ID <- c('AUD','CAD','NZD','USD',NA,NA,NA)
V1_No <- c(3.43,2.42,1.58,9.9,NA,NA,NA)
V2_ID <- c('TRY','AUD','EUR','SPY','TRY','BTC',NA)
V2_No <- c(8.4,2.4,6.8,1.2,9.8,9.8,NA)
V3_ID <- c('JPY','EUR','NZD','AUD','SPY','NA',NA)
V3_No <- c(1.8,8.6,4.4,2.1,9.6,NA,NA)
V4_ID <- c('GBP','TRY','HKD','SKD','USD','NZD','CAD')
V4_No <- c(1.3,4.6,7.9,8.5,2.6,7.4,9.1)
df <- data.frame(V1_ID,V1_No,V2_ID,V2_No,V3_ID,V3_No,V4_ID,V4_No)
ID <- c('AUD','CAD','NZD','USD','TRY','EUR','SPY','BTC','JPY','GBP','SKD')
No <- c(3.43,2.42,1.58,9.9,8.4,6.8,1.2,9.8,1.8,1.3,8.5)
df2 <- data.frame(ID,No)
您的帮助是非常感谢,因为我有387列这种类型的格式和接近它从手动的立场是非常排水,因此我希望寻找一个更优雅的解决方案。
谢谢
1条答案
按热度按时间x8diyxa71#
但是有第十二行与您想要的输出不匹配,我不知道我错过了什么逻辑步骤。