一些示例數據,從圖像(請不要發佈數據的圖像!):
data1 <- data.frame(imageLikeCount = c(3,27,4,4,16,103),
userName = c("\"testblabla\"", "test_00", "frenchfries", "frenchfries", "test.inc", "\"parmezan_pizza\""))
str(data1)
# 'data.frame': 6 obs. of 2 variables:
# $ imageLikeCount: num 3 27 4 4 16 103
# $ userName : Factor w/ 5 levels "\"parmezan_pizza\"",..: 2 5 3 3 4 1
要解決與因素,以及嵌入式引號的問題:
data1$userName <- gsub('"', '', as.character(data1$userName))
str(data1)
# 'data.frame': 6 obs. of 2 variables:
# $ imageLikeCount: num 3 27 4 4 16 103
# $ userName : chr "testblabla" "test_00" "frenchfries" "frenchfries" ...
像@DanielWinkler建議的那樣,如果您可以更改數據的讀入方式或定義方式,那麼您可以選擇包含stringsAsFactors = FALSE
(該參數在許多功能中都被接受,包括read.csv
,read.table
,第二最data.frame
功能,包括as.data.frame
和rbind
):
data1 <- data.frame(imageLikeCount = c(3,27,4,4,16,103),
userName = c("\"testblabla\"", "test_00", "frenchfries", "frenchfries", "test.inc", "\"parmezan_pizza\""),
stringsAsFactors = FALSE)
str(data1)
# 'data.frame': 6 obs. of 2 variables:
# $ imageLikeCount: num 3 27 4 4 16 103
# $ userName : chr "\"testblabla\"" "test_00" "frenchfries" "frenchfries" ...
(請注意,這仍然嵌入式引號,所以你仍然需要像data1$userName <- gsub('"', '', data1$userName)
)
現在,我們有數據,看起來像這樣。 :
data1
# imageLikeCount userName
# 1 3 testblabla
# 2 27 test_00
# 3 4 frenchfries
# 4 4 frenchfries
# 5 16 test.inc
# 6 103 parmezan_pizza
和您需要刪除重複的工作:
data1[! duplicated(data1), ]
# imageLikeCount userName
# 1 3 testblabla
# 2 27 test_00
# 3 4 frenchfries
# 5 16 test.inc
# 6 103 parmezan_pizza
這看起來像是一個在閱讀數據時可能會更好地解決的問題。你能夠獲得一些原始數據嗎? – user20650
對不起,我在上面的評論中錯過了一個單詞;)。應該閱讀*你能**分享**一些原始數據嗎?(比如前十行/五列)。另外,你可以展示你如何閱讀數據。歡呼 – user20650
我建議你通過閱讀[如何提問](http://stackoverflow.com/help/mcve)和關於[可重現的問題]來改進你的問題(http://stackoverflow.com/questions/5963269/how -to-化妝一個偉大-R重現-例子)。如果您的問題的結構方式有利於我們的幫助,您將獲得更多的意見(以及可能的答案)。 – r2evans