想象一下你有一个文件
sink("example.txt")
data.frame(a = runif(10), b = runif(10), c = runif(10))
sink()
Run Code Online (Sandbox Code Playgroud)
并希望添加一些标题信息,如
/* created on 31.3.2011 */
/* author */
/* other redundant information */
Run Code Online (Sandbox Code Playgroud)
我该如何添加这个"标题"?手动完成它似乎微不足道.点击几下进入,复制/粘贴或写入信息就完成了.当然,在R中,我可以读入example.txt,创建example2.txt,添加标题信息然后example.txt.
我想知道是否有另一种方式从"顶部"附加文件.其他解决方案(来自c ++或Java ...)也欢迎(我很好奇其他语言如何解决这个问题).
我有一个更大的数据集遵循相同的顺序,一个唯一的日期列,数据,唯一的日期列,日期等.我试图不仅按名称对数据列进行子集,而且还使用唯一的日期列.下面的代码根据名称列表选择列,这是我想要的一部分,但是关于如何在子集列之前立即获取列的任何想法也是如此?
期待最终得到一个包含Date1,Fire,Date3,Earth列的DF(仅使用NameList).
这是我可重现的代码:
Cnames <- c("Date1","Fire","Date2","Water","Date3","Earth")
MAINDF <- data.frame(replicate(6,runif(120,-0.03,0.03)))
colnames(MAINDF) <- Cnames
NameList <- c("Fire","Earth")
NewDF <- MAINDF[,colnames(MAINDF) %in% NameList]
Run Code Online (Sandbox Code Playgroud) 想象一下,你有一个.txt以下结构的文件:
>>> header
>>> header
>>> header
K L M
200 0.1 1
201 0.8 1
202 0.01 3
...
800 0.4 2
>>> end of file
50 0.1 1
75 0.78 5
...
Run Code Online (Sandbox Code Playgroud)
我想读取除了>>>行所示的>>> end of file行和行下面的行之外的所有数据.到目前为止,我已经使用read.table(comment.char = ">", skip = x, nrow = y)(x并且y目前已修复)解决了这个问题.这将读取标题和之间的数据>>> end of file.
但是,我想让我的功能在行数上更加可塑.数据的值可能大于800,因此行数更多.
我可以scan或readLines文件,看看哪一行对应,>>> end of file并计算要读取的行数.你会用什么方法?
我试图读入的文件在列标题中有一个"数字符号 - #"(也就是哈希符号).当我使用read.table加载数据时,列被移动,并且哈希符号(或数字符号#)之后的列标题丢失了!
如何将"数字符号"作为列标题的一部分读入,
防爆.标题,作者,标准#,日期,原产国
是否有一种简单的方法来转换R中的所有GUI元素并仅从OSX上的命令行运行它?
我试图在我的OSX机器上复制远程linux终端的行为.因此plot()应该只保存一个文件,CRAN镜像选择之类的东西应该是文本,而不是Tk接口.我无法找到设置此行为的位置.
我正在玩我的程序(试图多核几个部分),我注意到"CPU历史"看起来有点不同,取决于我开始的工人数量.2-4名工人似乎产生了"稳定"的工作流程,但是固定5-8名工人会产生不稳定的行为(从零到最大,见图片).我应该指出,所有的运行都以"平滑"的最大容量开始(例如2个核心只有25%),并且仅在一分钟左右后开始出现不稳定的行为.这是怎么回事?我有4个核心处理器,你认为这种行为可能与这个事实有关吗?
我希望你能看到这些照片.
2名工人

3名工人

4名工人

5名工人

6名工人

7名工人

8名工人

在我的工作中,我经常将变量列表称为一个字符向量.
A <- data.table(var1 = 1:10, var2 = 11:20, var3 = 21:30)
vecvar <- c("var1", "var2", "var3")
Run Code Online (Sandbox Code Playgroud)
只要有可能,我想使用vecvar而不是枚举变量,因为这使得我的代码对于将来的应用程序对于稍微不同的变量列表更加健壮.
我最近发现data.table,尽管我喜欢语法和效率增益的一般优雅,但我发现它与我上面提到的倾向有点冲突.的确,A[, vecvar]不行.
我尚未决定解决这个问题的最佳方法.
A[, vecvar, with=F]会工作,但并不总是方便(例如A[, list(vecvar, var1+var2), with=F]不会工作).
A[, sapply(vecvar, get)]虽然A[, sapply(vecvar, function(x) get(x))]愿意,但是不行.
我没有陷入困境,因为我有办法处理它 - 我只是想知道在我养成坏习惯之前,最好的解决方法是什么!
data.frame根据分组因子分割a 行相当容易.但是如何按列拆分并可能应用函数?
my.df <- data.frame(a = runif(10),
b = runif(10),
c = runif(10),
d = runif(10))
grp <- as.factor(c(1,1, 2,2))
Run Code Online (Sandbox Code Playgroud)
我想要的是群体的col柱.
到目前为止我所做的是一个穷人的申请.
lapply(as.list(as.numeric(levels(grp))), FUN = function(x, cn, data) {
rowMeans(data[grp %in% x])
}, cn = grp, data = my.df)
Run Code Online (Sandbox Code Playgroud)
编辑 谢谢大家的参与.我运行了10次重复*,我的工作data.frame大约有22000行.这些是几秒钟内的结果.
Roman: 2.19
Joris: 4.60
Joris #2: 3.79 #changed sapply to lapply as suggested by Joris in the [R chatroom][1].
Gavin: 4.70
James & EDi: > 200 # * ran only one replicate due to the large order of …Run Code Online (Sandbox Code Playgroud) 我正在使用RJDBC软件包连接到Windows 7机器上的R中的MySQL(Maria DB)数据库,我正在尝试像
select a as b
from table
Run Code Online (Sandbox Code Playgroud)
但该列将始终在数据框中继续命名为"a".
这通常适用于RODBC和RMySQL,但不适用于RJDBC.不幸的是,我必须使用RJDBC,因为这是唯一一个对中文,希伯来语等字母编码没有问题的软件包(集合名称等似乎不适用于RODBC和RMySQL).
有人遇到过这个问题吗?