我一直在努力創建我的數據幀中的幾個變量,看起來像這樣:在數據幀的不同行的元素創建變量
df.1 <- data.frame(unit = c('A','B','C','A','B','C','D'),location = c(1,1,1,2,2,2,2), value.X = c('5','6', '4', '3','10', '7','3'),value.Y = c('1','4','7','9','4','6','4'),team = c('A/B', 'A/B', 'C' , 'A', 'B/C', 'B/C','D'),team.B = c('A/C ', 'A/C', 'B', 'A/B/D', 'A/B/D', 'C', 'A/B/D'),supra = c('A', 'B', 'C', 'A/C/D', 'B', 'A/C/D' , 'A/C/D'),pos.supra = c(1,2,3,1,2,1,1))
unit location value.X value.Y team team.B supra pos.supra
1 A 1 5 1 A/B A/C A 1
2 B 1 6 4 A/B A/C B 2
3 C 1 4 7 C B C 3
4 A 2 3 9 A A/B/D A/C/D 1
5 B 2 10 4 B/C A/B/D B 2
6 C 2 7 6 B/C C A/C/D 1
7 D 2 3 4 D A/B/D A/C/D 1
我需要創建一個總結的區別變量value.X
和value.Y
對於team.B
中不在team
且不在supra
中的單元。和pos.supra.1
,如果有問題的單位有pos.supra.1
等於1,那麼它就是第一個或緊接在下面。我需要每個location
中的每個unit
。我知道有太多的步驟,所以這裏是一個更詳細的描述。也許你可以跳過或顛倒這些步驟的順序。沒關係。
(1)找到supra
團隊,下面一個數字或(如果單位有supra
與pos.supra
等於1
)
supra.I.need = c('B','A','A','B','A/C/D', 'B','B')
(2)檢查誰在who.I.need
不是team
但在team.B
:
that.is.not.in.team.but.are.in.team.B = c('NA','NA','NA','B', 'A,D','NA','B')
(3)最後,計算在可變所有單元的value.Y
和value.X
之間的差以上,總結起來(注意我總結三角洲爲A
和D
):
delta = c('NA','NA','NA','8','2','NA','8')
因此,最終的數據幀應該是這樣的:
df.2 <- data.frame(unit = c('A','B','C','A','B','C','D'),location = c(1,1,1,2,2,2,2), value.X = c('5','6', '4', '3','10', '7','3'),value.Y = c('1','4','7','9','4','6','4'),team = c('A/B', 'A/B', 'C' , 'A', 'B/C', 'B/C','D'),team.B = c('A/C ', 'A/C', 'B', 'A/B/D', 'A/B/D', 'C', 'A/B/D'),supra = c('A', 'B', 'C', 'A/C/D', 'B', 'A/C/D' , 'A/C/D'),pos.supra = c(1,2,3,1,2,1,1),supra.I.need = c('B','A','A','B','A/C/D', 'B','B'),that.is.not.in.team.but.are.in.team.B = c('NA','NA','NA','B', 'A,D','NA','B'),delta = c('NA','NA','NA','8','2','NA','8'))
unit location value.X value.Y team team.B supra pos.supra supra.I.need that.is.not.in.team.but.are.in.team.B delta
1 A 1 5 1 A/B A/C A 1 B NA NA
2 B 1 6 4 A/B A/C B 2 A NA NA
3 C 1 4 7 C B C 3 A NA NA
4 A 2 3 9 A A/B/D A/C/D 1 B B 8
5 B 2 10 4 B/C A/B/D B 2 A/C/D A,D 2
6 C 2 7 6 B/C C A/C/D 1 B NA NA
7 D 2 3 4 D A/B/D A/C/D 1 B B 8
任何幫助將非常感激。
具有通過#2,和'data.table'與標籤'[R] A搜索''subset' –
等你可以用R子集數據??? –
這很好,你試圖分解過程,但我建議你發佈一個通用的問題或更好地解釋你的數據。您目前的動詞術語和用法非常混亂。 – TheComeOnMan