我想获得控制台中显示的特定R包中的所有数据集的列表.我知道该函数data()将列出已加载包中的所有数据集.那不是我的目标.我想获得特定R包中所有数据集的列表.以下尝试无效.
data()
data('arules')
# Warning message:
# In data("arules") : data set ‘arules’ not found
Run Code Online (Sandbox Code Playgroud)
我的另一个目的是获取dim特定包中所有数据集的列表.
我有一个data.frame列"a"和"b".我想添加名为"high"和"low"的列,其中包含a和b列中的最高和最低.
有没有办法在没有循环数据框中的行的情况下执行此操作?
编辑:这是针对OHLC数据的,因此高和低列应包含同一行上a和b之间的最高和最低元素,而不是整列.对不起,如果措辞不好.
我正在读一个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中的一些单元格缺少由""表示的值.
如何编写此代码以便我不会收到上述警告?
每当我使用该.libPaths()函数更改库路径顺序时,如果我重新启动R,它将恢复为默认值.如何永久更改此值?我正在研究Linux计算集群(我没有管理员权限)所以,我想永久地将我的本地库添加到R.
我每次开始做R都必须这样做
.libPaths(c("/home/...","/home...","/local/library"))
Run Code Online (Sandbox Code Playgroud) 考虑以下命名向量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) 我正在尝试列出目录中的所有文件,包括以子目录结尾的目录_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.txt和b_input.txt
我有这个向量:
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) 使用以下函数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) 对于家庭作业,我试图将一个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)
我得到的输出就像一个巨大的数字向量.我试图将数据组织到数据框中,但我不知道如何正确调整我的代码以获得它.
我有一个POSIXct值的向量,我想将它们舍入到最近的四分之一小时.我不关心这一天.如何将值转换为小时和分钟?
例如,我想要的价值
"2012-05-30 20:41:21 UTC"
Run Code Online (Sandbox Code Playgroud)
成为
"20:45"
Run Code Online (Sandbox Code Playgroud)