我有在每個data.frames的多列data.frames的列表。每個data.frame具有相同的結構。另外我有另外一個包含多個data.frames的列表。兩個列表與多列的條件匹配data.frames
比方說,這是兩個列表:
firstlist <- list(a=data.frame(AA=5:1,
BB=1:5),
b=data.frame(AA=5:1,
BB=1:5),
c=data.frame(AA=5:1,
BB=1:5))
secondlist <- list(a=data.frame(AA=1:10,
BB=c(0,0,1,0,0,1,1,0,0,0)),
b=data.frame(AA=1:10,
BB=c(0,1,0,0,0,0,1,0,0,0)),
c=data.frame(AA=1:10,
BB=c(1,0,0,0,0,1,1,0,0,0)))
現在我想列CC添加到所有data.frames在firstlist並填寫相應他們從secondlist列BB值。
的問題是:我需要檢查,如果從firstlist AA或BB的行包含從AA中secondlist的價值,並與BB在secondlist值填寫firstlist新列CC。
與示例數據預期的結果上面會:
> firstlist
$a
AA BB CC
1 5 1 0
2 4 2 0
3 3 3 1
4 2 4 0
5 1 5 0
$b
AA BB CC
1 5 1 0
2 4 2 1
3 3 3 0
4 2 4 1
5 1 5 0
$c
AA BB CC
1 5 1 1
2 4 2 0
3 3 3 0
4 2 4 0
5 1 5 1
我需要使用for循環或者是有任何其他方式?
更新: 對於所有數據類型,請參閱Thell's solution以獲取所有數據類型的數據,並使用eddie's solution。
預先感謝您!
你能告訴我們你的數據預期的結果?第一部分是有點不清楚,我...「我需要檢查,如果從firstlist在AA或BB的行...」 – Arun
@Arun我編輯了問題。增加了預期的結果。 換句話說: 我需要檢查是否在列AA或BB任何行firstlist的每一個data.frame包含相同的值命名data.frame secondlist同一列AA一行。如果是這樣,我需要填充第一列表中的新列CC和第二列表中BB的相應值。這聽起來更加貼切,但我不知道如何更好地描述它。 – Nikita
$ b列'CC'' 0,1,0,1,0'如何?你能解釋一下嗎? – Arun