小编Hen*_*enk的帖子

将写入的数字转换为R中的数字

有没有人知道将数字的文本表示转换为实际数字的函数,例如20305年的"二万三千五".我在数据帧行中编写了数字,并希望将它们转换为数字.

在包qdap中,您可以用单词替换数字表示的数字(例如,1001变为一千),但不是相反:

library(qdap)
replace_number("I like 346457 ice cream cones.")
[1] "I like three hundred forty six thousand four hundred fifty seven ice cream cones."
Run Code Online (Sandbox Code Playgroud)

text r qdap

17
推荐指数
1
解决办法
6816
查看次数

data.table函数在脚本中工作,但不在包中

我有一个函数来从data.table中删除空列,并将其包含在一个包中.

不知何故,当我加载函数时,它可以工作,但是当我从包中调用它时,它不起作用.问题:当我从包中调用它时,为什么不运行此函数?

包中的任何函数都没有require(data.table)或库(data.table).DESCRIPTION文件包含:Imports:data.table.所以在我自己的包中使用data.table包是满意的.

library(data.table)
df = data.table(a = c(1,2,3), b = c(NA, NA, NA), c = c(4,5,6))
library(cr360)

remove.emptycols(df) # from package
Error in .subset(x, j) : invalid subscript type 'list'

# now open function from mypackage and run again:
# source("./mypackage/R/fun_remove_emptycols.R")
remove.emptycols(df)
   a c
1: 1 4
2: 2 5
3: 3 6
Run Code Online (Sandbox Code Playgroud)

功能:

#' Remove empty columns
#' 
#' Counts the number of NA values in the columns and counts the number of rows.
#' @param …
Run Code Online (Sandbox Code Playgroud)

r data.table

14
推荐指数
1
解决办法
1183
查看次数

R将语料库分成句子

  1. 我有许多PDF文档,我已将其读入带库的语料库中tm.如何将语料库分解成句子?

  2. 可以readLines通过sentSplit从包qdap[*] 读取文件来完成.该功能需要数据帧.它还需要放弃语料库并单独阅读所有文件.

  3. 如何在语料库中传递函数sentSplit{ qdap} tm?或者,还有更好的方法?.

注意:sentDetect 库中有一个函数,openNLP现在是Maxent_Sent_Token_Annotator- 同样的问题适用:如何将它与语料库[tm]结合起来?

split r sentence tm qdap

12
推荐指数
2
解决办法
2万
查看次数

数据帧的标准偏差不起作用

在计算标准偏差时,我有一个意想不到的[至少对我来说]错误.想法[*]是将所有缺失值转换为1和0否则.然后在完成关联之前提取具有一些[但不是全部]缺失值的变量.使用sd函数尝试提取步骤,但它失败[为什么?].

library(VIM)
data(sleep) # dataset with missing values

x = as.data.frame(abs(is.na(sleep))) # converts all NA to 1, otherwise 0
y = x[which(sd(x) > 0)] # attempt to extract variables with missing values

Error in is.data.frame(x) : 
(list) object cannot be coerced to type 'double'

# convert to double    
z = as.data.frame(apply(x, 2, as.numeric))
y = z[which(sd(z) > 0)]

Error in is.data.frame(x) : 
(list) object cannot be coerced to type 'double'
Run Code Online (Sandbox Code Playgroud)

[*] R in Action,Robert Kabacoff

r

12
推荐指数
1
解决办法
2万
查看次数

按数据集中出现的顺序排列因子级别

我有一项调查,其中必须为问题分配唯一的ID.有些问题多次出现.这意味着还有一层额外的问题.在下面的示例数据中,仅包括第一层.

问题:如何按出现顺序分配唯一索引?此处提供的解决方案按字母顺序排列 我可以订购这些因素,但这会破坏在R中实现它的目的[有很多问题需要排序].

library(data.table)
dt = data.table(question = c("C", "C", "A", "B", "B", "D"), 
                value = c(10,20,30,40,20,30))

dt[, idx := as.numeric(as.factor(question))]
Run Code Online (Sandbox Code Playgroud)

得到:

  question value idx
# 1:        C    10   3
# 2:        C    20   3
# 3:        A    30   1
# 4:        B    40   2
# 5:        B    20   2
# 6:        D    30   4

# but required is:
dt[, idx.required := c(1, 1, 2, 3, 3, 4)]
Run Code Online (Sandbox Code Playgroud)

r r-factor data.table

9
推荐指数
2
解决办法
1611
查看次数

并行coord plot ggplot2已弃用?

当我尝试在ggplot2中创建一个并行坐标时,我得到了一个不推荐使用的消息:

require(ggplot2)
ggpcp(mtcars) + geom_line()
Run Code Online (Sandbox Code Playgroud)

警告消息:不推荐使用'ggpcp'.请参阅帮助("已弃用")

然而,ggplot文档没有说明这一点:http://docs.ggplot2.org/current/ggpcp.html .

某个地方有新的pcp功能吗?

r ggplot2 parallel-coordinates

8
推荐指数
1
解决办法
1961
查看次数

制作闪亮下拉列表selectInput的列表

闪亮的selectInput小部件需要以这种格式命名的选择列表:

choices = list(
  "mpg" = 1,
  "cyl" = 2,
  "disp" = 3,
  "hp" = 4
  # ..... etc
)
Run Code Online (Sandbox Code Playgroud)

进入我的闪亮应用程序的数据框将没有相同的变量名称,所以我想动态生成名称列表.

这是一次尝试:

data(mtcars)

choices = data.frame(
  var = names(mtcars),
  num = 1:length(names(mtcars))
)

> head(choices)
   var num     mylist
1  mpg   1  "mpg" = 1
2  cyl   2  "cyl" = 2
3 disp   3 "disp" = 3
4   hp   4   "hp" = 4
5 drat   5 "drat" = 5
6   wt   6   "wt" = 6

paste(choices$mylist, collapse = ",")
Run Code Online (Sandbox Code Playgroud)

这看起来很接近,但它不起作用:

... …
Run Code Online (Sandbox Code Playgroud)

r list shiny

8
推荐指数
1
解决办法
1万
查看次数

包装开发:pdf手册和插图的位置

在构建mypackage时,一切似乎都有效:

library(devtools)
build(vignettes = T, manual = T)

* checking for file ‘/storage/Documents/client/validate/mypackage/DESCRIPTION’ ... OK
* preparing ‘mypackage’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* building ‘mypackage_0.1.tar.gz’

[1] "/storage/Documents/client/validate/mypackage_0.1.tar.gz"
Run Code Online (Sandbox Code Playgroud)

但是我找不到PDF手册和小插图.

Vignette:遵循此处所述的工作流程,使用RStudio/devtools/markdown.然而:

vignette("mypackage")警告信息:未找到插图'mypackage'

对于PDF手册,我试过这个,但没有成功.

所以,我的问题是:我在哪里可以找到PDF手册和小插图?

r devtools package rstudio

7
推荐指数
1
解决办法
2426
查看次数

动态分配data.table tstrsplit中的拆分数

data.table v.1.9.6你可以在列像这样分割变量:

library(data.table)
DT = data.table(x=c("A/B", "A", "B"), y=1:3)
DT[, c("c1", "c2") := tstrsplit(x, "/", fixed=TRUE)][]
Run Code Online (Sandbox Code Playgroud)

所需的分割数[上面:2]并不总是事先知道.当已知拆分数时,如何生成所需的变量名?

n = 2  # desired number of splits
# naive attempt to build required string
m = paste0("'", "myvar", 1:n, "'", collapse = ",")
m = paste0("c(", m, ")" )

# [1] "c('myvar1','myvar2','myvar3')"


DT[, m := tstrsplit(x, "/", fixed=TRUE)][]  # doesn't work
Run Code Online (Sandbox Code Playgroud)

split r data.table

7
推荐指数
1
解决办法
1349
查看次数

命名嵌套列表

我试图将名称设置为嵌套列表.下面的示例显示了列表的结构.这里的内容是"类",在我的情况下有表.我想将第一个元素命名为varA,将第二个元素命名为var B.这将给出类似于:

[[varA1]]
[[varA1]][[varB1]]
Run Code Online (Sandbox Code Playgroud)

这是嵌套列表的结构:

varA = paste0("varA", 1:10)
varB = paste0("varB", 1:3)

library(foreach)
tabs = foreach(j = 1:length(varA)) %do% {
  main = varA[j]
  mytabs = lapply(1:length(varB), class)
}
Run Code Online (Sandbox Code Playgroud)

如何将名称设置为此列表?

nested r list

6
推荐指数
1
解决办法
968
查看次数