我正在使用该tm软件包使用以下代码清理一些数据:
mycorpus <- Corpus(VectorSource(x))
mycorpus <- tm_map(mycorpus, removePunctuation)
Run Code Online (Sandbox Code Playgroud)
然后,我想将语料库转换回数据框,以便导出包含数据帧原始格式的数据的文本文件.我尝试过以下方法:
dataframe <- as.data.frame(mycorpus)
Run Code Online (Sandbox Code Playgroud)
但是这会返回一个错误:
"as.data.frame.default中的错误.(mycorpus):无法将类"c(vcorpus,> corpus")强制转换为data.frame
如何将语料库转换为数据框?
我想删除基于在一个数据帧2列匹配重复值,v2及v4被删除行之间必须匹配.
> df
v1 v2 v3 v4 v5
1 7 1 A 100 98
2 7 2 A 100 97
3 8 1 C NA 80
4 8 1 C 78 75
5 8 1 C 78 62
6 9 3 C 75 75
Run Code Online (Sandbox Code Playgroud)
为了结果
> df
v1 v2 v3 v4 v5
1 7 1 A 100 98
2 8 1 C NA 80
3 8 1 C 78 75
4 9 3 C 75 75 …Run Code Online (Sandbox Code Playgroud) 我想使用正则表达式从数据框中的文本中提取所有URL到新列.我有一些旧的代码,我用来提取关键字,所以我想调整代码为正则表达式.我想将正则表达式保存为字符串变量并在此处应用:
data$ContentURL <- apply(sapply(regex, grepl, data$Content, fixed=FALSE), 1, function(x) paste(selection[x], collapse=','))
Run Code Online (Sandbox Code Playgroud)
似乎fixed=FALSE应该告诉grepl它是一个正则表达式,但R不喜欢我试图将正则表达式保存为:
regex <- "http.*?1-\\d+,\\d+"
Run Code Online (Sandbox Code Playgroud)
我的数据组织在这样的数据框中:
data <- read.table(text='"Content" "date"
1 "a house a home https://www.foo.com" "12/31/2013"
2 "cabin ideas https://www.example.com in the woods" "5/4/2013"
3 "motel is a hotel" "1/4/2013"', header=TRUE)
Run Code Online (Sandbox Code Playgroud)
希望看起来像:
Content date ContentURL
1 a house a home https://www.foo.com 12/31/2013 https://www.foo.com
2 cabin ideas https://www.example.com in the woods 5/4/2013 https://www.example.com
3 motel is a hotel 1/4/2013
Run Code Online (Sandbox Code Playgroud) 我试图将来自同一用户的文本数据粘贴到一起,该用户当前按名称组织在不同的行中:
df <- read.table(header = TRUE, text = 'name text
"katy" "tomorrow I go"
"lauren" "and computing"
"katy" "to the store"
"stephanie" "foo and foos"')
Run Code Online (Sandbox Code Playgroud)
结果是:
df2 <- read.table(header=TRUE, text='name text
"katy" "tomorrow I go to the store"
"lauren" "and computing"
"stephanie" "foo and foos"')
Run Code Online (Sandbox Code Playgroud)
建议?
R.的新功能我希望从数据框中删除某些单词.由于有多个单词,我想将这个单词列表定义为字符串,并使用gsub删除.然后转换回数据帧并保持相同的结构.
wordstoremove <- c("ai", "computing", "ulitzer", "ibm", "privacy", "cognitive")
a
id text time username
1 "ai and x" 10 "me"
2 "and computing" 5 "you"
3 "nothing" 15 "everyone"
4 "ibm privacy" 0 "know"
Run Code Online (Sandbox Code Playgroud)
我想的是:
a2 <- apply(a, 1, gsub(wordstoremove, "", a)
Run Code Online (Sandbox Code Playgroud)
但在转换回数据框之前,这显然不起作用.
R新手.我正在尝试使用水平数据创建共生矩阵.我想知道哪些元素在行中共同出现'TRUE'.
每行代表一篇文章.每篇文章都有许多标记元素存在与否的真/假变量.这里有100个元素,缩写为10k以上.所以10,000 x 101数据帧.
dat <- read.table(text='"article" "element1" "element2" "element3" "element4"
1 "a house a home" "TRUE" "TRUE" "FALSE" "FALSE"
2 "cabin in the woods" "TRUE" "TRUE" "FALSE" "FALSE"
3 "motel is a hotel" "TRUE" "FALSE" "TRUE" "FALSE"', header=TRUE)
Run Code Online (Sandbox Code Playgroud)
我尝试跟随这个共现问题(创建共生矩阵),但似乎由于数据的组织方式不同,这种方法不起作用.
如果100个元素x 100个元素,那么有用的将是矩阵.有人有建议吗?
R新手。我正在尝试从数据框中的行的开头和结尾删除“”。如果引号不是第一个或最后一个字符,我不想删除。数据的数据框,其中每一行都是文本的数据点。
引号不是字符串,而是文本的一部分。
数据框的一行看起来像这样:
x<- '"hello world. She said, "hello again" it was a pleasant response"'
Run Code Online (Sandbox Code Playgroud)
结果应该是:
x2 <- 'hello world. She said, "hello again" it was a pleasant response"'
Run Code Online (Sandbox Code Playgroud)
我认为这会起作用:
gsub("\\n\"", "", df)
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。有什么建议吗?
如果在数据帧的列中有任何长度超过9个字符的字符串,我正在尝试为我的数据编写测试.
当使用apply时,我对如何使用if语句将nchar作为函数运行感到困惑.我以为会是这样的:
apply(df$a, 2, function(x) if nchar(x>9), nchar(x))
Run Code Online (Sandbox Code Playgroud)
但是我得到一个错误:...中的意外符号
我在这里错过了什么?
我有以下日期格式的Twitter数据:
date <- "Wed Jan 07 20:57:02 +0000 2015"
Run Code Online (Sandbox Code Playgroud)
有谁知道这是一个标准的日期格式?任何可以将它转换为mdy的包?
RI的新手使用stringr包中的str_extract_all来尝试提取当前采用以下格式的坐标:
coordinate <- "{u'type': u'Point', u'coordinates': [-2.824602, 53.235397]}"
Run Code Online (Sandbox Code Playgroud)
我想提取此文本旁边的相应列中的第一个坐标,以及另一列中的第二个坐标.
我想使用perl表达式来提取,但有点坚持如何做到这一点.
结果看起来像:
coordinate x y
"{u'type': u'Point', u'coordinates': [-2.824602, 53.235397]}" -2.824602 53.235397
Run Code Online (Sandbox Code Playgroud)