小编Ric*_*ven的帖子

获取特定包中的数据集列表

我想获得控制台中显示的特定R包中的所有数据集的列表.我知道该函数data()将列出已加载包中的所有数据集.那不是我的目标.我想获得特定R包中所有数据集的列表.以下尝试无效.

data()
data('arules')
# Warning message:
# In data("arules") : data set ‘arules’ not found
Run Code Online (Sandbox Code Playgroud)

我的另一个目的是获取dim特定包中所有数据集的列表.

r

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

是否有矢量化并行max()和min()?

我有一个data.frame列"a"和"b".我想添加名为"high"和"low"的列,其中包含a和b列中的最高和最低.

有没有办法在没有循环数据框中的行的情况下执行此操作?

编辑:这是针对OHLC数据的,因此高和低列应包含同一行上a和b之间的最高和最低元素,而不是整列.对不起,如果措辞不好.

parallel-processing r max vectorization minimum

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

使用read.csv()读取csv时,获取"在输入中找到的嵌入式nul"

我正在读一个csv文件.

代码是:

mydata = read.csv("mycsv.csv", header=True, sep=",", quote="\"")
Run Code Online (Sandbox Code Playgroud)

获取以下警告:

警告消息:In scan(file = file, what = what, sep = sep, quote = quote, dec = dec,:在输入中找到的嵌入式nul(s)

现在我的CSV中的一些单元格缺少由""表示的值.

如何编写此代码以便我不会收到上述警告?

r

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

如何在R中永久更改.libPaths()?

每当我使用该.libPaths()函数更改库路径顺序时,如果我重新启动R,它将恢复为默认值.如何永久更改此值?我正在研究Linux计算集群(我没有管理员权限)所以,我想永久地将我的本地库添加到R.

我每次开始做R都必须这样做

.libPaths(c("/home/...","/home...","/local/library"))
Run Code Online (Sandbox Code Playgroud)

r

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

在忽略NA值的同时计算cumsum()

考虑以下命名向量x.

( x <- setNames(c(1, 2, 0, NA, 4, NA, NA, 6), letters[1:8]) )
# a  b  c  d  e  f  g  h 
# 1  2  0 NA  4 NA NA  6 
Run Code Online (Sandbox Code Playgroud)

我想计算x忽略NA值的累计和.许多R函数都有一个参数na.rm,可以NA在计算之前删除元素. cumsum()不是其中之一,这使得这个操作有点棘手.

我可以这样做.

y <- setNames(numeric(length(x)), names(x))
z <- cumsum(na.omit(x))
y[names(y) %in% names(z)] <- z
y[!names(y) %in% names(z)] <- x[is.na(x)]
y
# a  b  c  d  e  f  g  h 
# 1  3  3 NA  7 NA …
Run Code Online (Sandbox Code Playgroud)

r

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

list.files()目录和子目录中的所有文件

我正在尝试列出目录中的所有文件,包括以子目录结尾的目录_input.txt.

- folder 1
  - a_input.txt
  - folder 2
    - b_input.txt
Run Code Online (Sandbox Code Playgroud)

如果文件夹1是我的工作目录,我希望list.files(pattern = "\\_input.txt$")能够检测到a_input.txtb_input.txt

r

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

仅为正数的累计和

我有这个向量:

x = c(1,1,1,1,1,0,1,0,0,0,1,1)
Run Code Online (Sandbox Code Playgroud)

而且我只想为正数做累积求和.我应该有以下向量作为回报:

xc = (1,2,3,4,5,0,1,0,0,0,1,2)
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

我已经尝试过了,cumsum(x)但是它会对所有值进行累积求和,并给出:

cumsum(x)
[1] 1 2 3 4 5 5 6 6 6 6 7 8
Run Code Online (Sandbox Code Playgroud)

r

29
推荐指数
4
解决办法
2567
查看次数

拆分`...`参数并分配给多个函数

使用以下函数foo()作为一个简单的例子...,如果可能的话,我想分发两个不同函数给出的值.

foo <- function(x, y, ...) {
    list(sum = sum(x, ...), grep = grep("abc", y, ...))
}
Run Code Online (Sandbox Code Playgroud)

在下面的例子中,我希望na.rm传递给sum(),并value传递给grep().但是我在一个未使用的参数中得到一个错误grep().

X <- c(1:5, NA, 6:10)
Y <- "xyzabcxyz"
foo(X, Y, na.rm = TRUE, value = TRUE)
# Error in grep("abc", y, ...) : unused argument (na.rm = TRUE)
Run Code Online (Sandbox Code Playgroud)

看起来这些论点grep()首先被发送出去了.那是对的吗?我认为R会sum()首先看到并评估,并为该情况返回错误.

此外,当试图分裂论点时...,我遇到了麻烦. sum()正式的论据是NULL因为它是一个.Primitive,因此我无法使用

names(formals(sum)) %in% names(list(...))
Run Code Online (Sandbox Code Playgroud)

我也不想假设剩下的论据来自

names(formals(grep)) %in% …
Run Code Online (Sandbox Code Playgroud)

r

28
推荐指数
2
解决办法
2067
查看次数

R:将XML数据转换为数据帧

对于家庭作业,我试图将一个XML文件转换为R中的数据框.我尝试了很多不同的东西,我在互联网上搜索了一些想法,但都没有成功.到目前为止,这是我的代码:

library(XML)
url <- 'http://www.ggobi.org/book/data/olive.xml'
doc <- xmlParse(myUrl)
root <- xmlRoot(doc)

dataFrame <- xmlSApply(xmltop, function(x) xmlSApply(x, xmlValue))
data.frame(t(dataFrame),row.names=NULL)
Run Code Online (Sandbox Code Playgroud)

我得到的输出就像一个巨大的数字向量.我试图将数据组织到数据框中,但我不知道如何正确调整我的代码以获得它.

xml r dataframe

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

舍入时间到最近的四分之一小时

我有一个POSIXct值的向量,我想将它们舍入到最近的四分之一小时.我不关心这一天.如何将值转换为小时和分钟?

例如,我想要的价值

"2012-05-30 20:41:21 UTC"
Run Code Online (Sandbox Code Playgroud)

成为

"20:45"
Run Code Online (Sandbox Code Playgroud)

datetime r

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

标签 统计

r ×10

dataframe ×1

datetime ×1

max ×1

minimum ×1

parallel-processing ×1

vectorization ×1

xml ×1