簡體   English   中英

修改並重新創建R中的data.frame列表

[英]Modify and recreate a list of data.frame in R

我有一個名為mdata.frame list (請參見HERE )。 這些data.frames中的列r均為NA

但是稍后,我計算了其中的一些r並將它們存儲為名為L的列表。

我想知道如何實現以下目標?:

(1)如果L任何列表條目(即L[[1]]L[[2]] ...)都以數字BUT開頭,緊隨其后是NA ,用該數字替換NA

(2)將所有新的r s(存儲在L )放回data.frames m的原始列表中的r列中。

D <- read.csv("https://raw.githubusercontent.com/izeh/m/master/g.csv", h = T) ## Data


m <- split(D, D$study.name) ;  m[[1]] <- NULL  ## original list of data.frame    
                                               ## To be finally recreated.


 L <- list(Bit.KnoA = rep(NA, 8), Bit.KnoB = rep(NA, 12), ChandlerA = c(.5, .5), 
Mubarak = c(.6, NA, .5, NA, .5, NA, .8, NA, .5,NA,.9,NA), SheenA = rep(NA, 6),
Shin.Ellis = rep(NA, 6), Sun = rep(NA, 6), Trus.Hsu = rep(NA, 2))


lapply(L, transform, r = zoo::na.locf0(r)) ## To achieve (1), but Not working !


###### NOW, put back L in the new list of data.frame like `m` above? ######

如果打算將data.frame中的data.frame list中的r列替換為使用na.locf0vectors的L list ,則

library(zoo)
m1 <- Map(function(x, y) transform(x, r = na.locf0(y)), m, L)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM