一些示例数据,从图像(请不要发布数据的图像!):
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