每當我在我的 df 中參考任何字串資料時,它都會回傳 NA,就好像該字串不存在一樣,但這不是我的拼寫錯誤。
我正在對我的資料執行一些基本的排序功能,所有這些都是我之前在其他資料集的同一個 R 腳本中完成的,并且由于某種原因它無法識別我的字串資料。
> head(Vg)
Sp key value
1 Salal Thinned _ CAR1 18.500
2 Bracken Thinned _ CAR1 1.275
3 RedHuckleberry Thinned _ CAR1 0.550
4 SwordFern Thinned _ CAR1 0.500
5 DeerFern Thinned _ CAR1 0.500
6 LadyFern Thinned _ CAR1 0.000
> V_VON<-Vg[grepl("VON1",Vg$key),]
> V_VON<-V_VON[!V_VON$value==0,]
> V_VON
Sp key value
289 Salal Clearcut _ VON1 4.666667
290 Bracken Clearcut _ VON1 0.500000
291 RedHuckleberry Clearcut _ VON1 0.500000
292 SwordFern Clearcut _ VON1 0.500000
293 DeerFern Clearcut _ VON1 0.500000
295 Salmonberry Clearcut _ VON1 0.500000
296 TrailingRasberry Clearcut _ VON1 0.500000
297 TrailingBlackberry Clearcut _ VON1 0.500000
302 RyeGrass Clearcut _ VON1 0.500000
303 ThreeLeavedFoamFlower Clearcut _ VON1 0.500000
305 BaldhipRose Clearcut _ VON1 0.500000
307 UGrass1 Clearcut _ VON1 0.500000
316 Redwoodviolet Clearcut _ VON1 0.500000
323 Fireweed Clearcut _ VON1 0.500000
325 Salal Control _ VON1 60.000000
326 Bracken Control _ VON1 0.500000
327 RedHuckleberry Control _ VON1 0.500000
328 SwordFern Control _ VON1 0.500000
> V_VON$key <- factor(V_VON$key, levels = c("Control_VON1","Clearcut_VON1"))
> V_VON
Sp key value
289 Salal <NA> 4.666667
290 Bracken <NA> 0.500000
291 RedHuckleberry <NA> 0.500000
292 SwordFern <NA> 0.500000
293 DeerFern <NA> 0.500000
295 Salmonberry <NA> 0.500000
296 TrailingRasberry <NA> 0.500000
297 TrailingBlackberry <NA> 0.500000
302 RyeGrass <NA> 0.500000
303 ThreeLeavedFoamFlower <NA> 0.500000
305 BaldhipRose <NA> 0.500000
307 UGrass1 <NA> 0.500000
316 Redwoodviolet <NA> 0.500000
323 Fireweed <NA> 0.500000
325 Salal <NA> 60.000000
326 Bracken <NA> 0.500000
327 RedHuckleberry <NA> 0.500000
328 SwordFern <NA> 0.500000
我認為下劃線可能有一些錯誤,所以我嘗試使用“Sp”列中的值,但同樣的事情發生了。
> V_VON1 <- V_VON[V_VON$Sp=="Salal", ]
> V_VON1
[1] Sp key value
<0 rows> (or 0-length row.names)
但是,我可以在數字列上正常操作。
> V_VON2 <- V_VON[V_VON$value==0.5,]
> V_VON2
Sp key value
290 Bracken Clearcut _ VON1 0.5
291 RedHuckleberry Clearcut _ VON1 0.5
292 SwordFern Clearcut _ VON1 0.5
293 DeerFern Clearcut _ VON1 0.5
295 Salmonberry Clearcut _ VON1 0.5
296 TrailingRasberry Clearcut _ VON1 0.5
297 TrailingBlackberry Clearcut _ VON1 0.5
302 RyeGrass Clearcut _ VON1 0.5
303 ThreeLeavedFoamFlower Clearcut _ VON1 0.5
305 BaldhipRose Clearcut _ VON1 0.5
307 UGrass1 Clearcut _ VON1 0.5
316 Redwoodviolet Clearcut _ VON1 0.5
323 Fireweed Clearcut _ VON1 0.5
326 Bracken Control _ VON1 0.5
327 RedHuckleberry Control _ VON1 0.5
328 SwordFern Control _ VON1 0.5
有什么想法可能導致這種情況嗎?我唯一的想法可能是 grepl 函式,因為它是我第一次使用它。
uj5u.com熱心網友回復:
可能存在可以洗掉的前導/滯后空格,trimws以==查找固定匹配
V_VON[trimws(V_VON$Sp)=="Salal", ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/525516.html
標籤:r
