我有一個數據幀,這是1 GB的大小,下面是一個虛擬的一個重命名在數據幀的一列一定倍數值到另一個單值
df <- data.frame(group=rep(c("A", "B", "C","D","E","F","G","H"), each=4),height=sample(100:150, 16))
df
group height
1 A 105
2 A 119
3 B 108
4 B 114
5 C 109
6 C 111
7 D 148
8 D 121
9 E 133
10 E 101
11 F 143
12 F 135
13 G 147
14 G 141
15 H 150
16 H 145
,哪些是我的目標是要改變列組的名稱就像例如將所有B,H和G轉換爲NC,將所有A轉換成PC,以及將其他轉換爲NON ,因此我嘗試了以下一行。
de=c("B")
df =df$group[df$group %in% de,]<-"NC"
但它拋出下面的錯誤,
Error in `[<-.factor`(`*tmp*`, df$group %in% de, , value = "nc") :
incorrect number of subscripts on matrix
In addition: Warning message:
In `[<-.factor`(`*tmp*`, df$group %in% de, , value = "nc") :
invalid factor level, NA generated
最後,數據幀DF應該是這樣的
df
group height
1 PC 105
2 PC 119
3 NC 108
4 NC 114
5 NON 109
6 NON 111
7 NON 148
8 NON 121
9 NON 133
10 NON 101
11 NON 143
12 NON 135
13 NC 147
14 NC 141
15 NC 150
16 NC 145
在R或大熊貓任何建議將是真正偉大。 謝謝
其實,我的數據幀是相當大的,它具有比A,B更多的價值,而C.我可以編輯我的問題很抱歉。 – user1017373