小编xia*_*dai的帖子

如何使用R将大型CSV数据文件分成单个数据文件?

我有一个CSV文件,其第一行包含变量名称,其余行包含数据.将它分解为每个只包含一个R变量的文件的好方法是什么?这个解决方案是否会变得强大?例如,如果输入文件的大小是100G怎么办?

输入文件看起来像

var1,var2,var3
1,2,hello
2,5,yay
...
Run Code Online (Sandbox Code Playgroud)

我要创建3(或包含很多变量)的文件var1.csv,var2.csv,var3.csv,使文件类似 文件1

var1
1
2
...
Run Code Online (Sandbox Code Playgroud)

文件2

var2?
2
5
...
Run Code Online (Sandbox Code Playgroud)

文件3

var3
hello
yay
Run Code Online (Sandbox Code Playgroud)

我在Python中得到了一个解决方案(如何将大型CSV数据文件分解为单个数据文件?)但我想知道R是否可以做同样的事情?Python代码必不可少的是逐行读取csv文件,然后一次写出一行.R可以这样做吗?read.csv命令一次读取整个文件,这可以减慢整个过程.另外,当R尝试将整个文件读入内存时,它无法读取100G文件并对其进行处理.我在R中找不到一个命令,让你逐行读取csv文件.请帮忙.谢谢!!

csv r

5
推荐指数
1
解决办法
2313
查看次数

如何编写VBA代码以隐藏Excel中的所有列和行标题?

Private Sub hideHeadings()
  Dim obj As Window
  For Each obj In Application.Windows
    obj.DisplayHeadings = False
  Next obj

End Sub
Run Code Online (Sandbox Code Playgroud)

以上是我的尝试,因为当我记录代码时,它会变为ActiveWindow.DisplayHeadings = false.但我必须遗漏一些东西.请提前帮助谢谢.

excel vba

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

在R中如何逐行读取CSV文件并将内容识别为正确的数据类型?

我想读取一个CSV文件,其第一行是变量名,后续行是这些变量的内容.有些变量是数字的,有些是文本,有些甚至是空的.

file = "path/file.csv"
f = file(file,'r')
varnames = strsplit(readLines(f,1),",")[[1]]
data = strsplit(readLines(f,1),",")[[1]]
Run Code Online (Sandbox Code Playgroud)

既然数据包含所有变量,我该如何使数据能够识别正在读取的数据类型,就像我一样read.csv.

我需要逐行读取数据(或一次读取n行),因为整个数据集太大而无法读入R.

csv r

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

如果可以在引用的字符串中使用逗号引用csv文件,那么将csv文件转换为tsv文件的平台无关方式是什么?

假设我有一个像这样的csv文件

a,b,c
1,"drivingme,mad",2
Run Code Online (Sandbox Code Playgroud)

我想将它转换成TSV

a<tab>b<tab>c
1<tab>drivingme,mad<tab>2
Run Code Online (Sandbox Code Playgroud)

虽然我可以写一些Python代码来做到这一点.我发现这很慢.是否有更好的awk,sed或perl方式,即使行数达到数百万,也相当快?

我需要这样做,因为我无法将CSV文件导入带有上述csv的SQLite数据库,因为SQLite具有有限的csv导入功能.

csv perl awk sed tsv

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

如果区域设置不受关注,在Python中对字符串进行排序的最快方法是什么?

我试图找到一种快速的方法来在Python中对字符串进行排序,并且语言环境是一个无关紧要的问题,即我只想根据底层字节对词汇进行排序.这非常适合基数排序.这是我的MWE

import numpy as np
import timeit

# randChar is workaround for MemoryError in mtrand.RandomState.choice
# http://stackoverflow.com/questions/25627161/how-to-solve-memory-error-in-mtrand-randomstate-choice
def randChar(f, numGrp, N) :
   things = [f%x for x in range(numGrp)]
   return [things[x] for x in np.random.choice(numGrp, N)]

N=int(1e7)
K=100
id3 = randChar("id%010d", N//K, N)   # small groups (char)
timeit.Timer("id3.sort()" ,"from __main__ import id3").timeit(1) # 6.8 seconds
Run Code Online (Sandbox Code Playgroud)

你可以看到它需要6.8秒,这比下面的R的基数排序慢近10倍.

N = 1e7
K = 100
id3 = sample(sprintf("id%010d",1:(N/K)), N, TRUE)
system.time(sort(id3,method="radix"))
Run Code Online (Sandbox Code Playgroud)

我知道Python .sort()不使用基数排序,是否有某个实现允许我像R一样对字符串进行排序?

AFAIK既有R又有Python"实习"字符串,因此R中的任何优化也可以在Python中完成.

"基数排序字符串python"的顶级谷歌结果是这个要点,在我的测试数组上排序时产生错误.

python sorting string

5
推荐指数
1
解决办法
281
查看次数

什么是朱莉娅相当于R?

在给定向量的R中,x可以找到其元素所在的索引TRUE.例如y = 1:100,which(is.even(y))应该返回2,4,...,100

还有which.max并且which.min它们相应地返回最小值和最大值的索引.

他们在Julia中的等价物是什么?

r julia

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

在 Excel VBA 中,如何访问存储在已安装加载项中的子程序?

我已经创建了一个 Excel 加载项。在该加载项中有一些模块,假设 module1 就是其中之一。在 module1 我有一个 sub 声明为 public sub abc() end sub

在我的工作簿中,我希望能够使用插件中定义的函数 abc。它似乎不起作用!

例如,我安装了 Addin,以便它现在出现在 VBAProject 部分中。我在我的主工作簿(这不是加载项工作簿)中创建了一个子程序,并且有一个名为 def 的子程序说

sub def()
  call abc
end sub



sub def1()
  call module1.abc
end sub
Run Code Online (Sandbox Code Playgroud)

这些都不起作用。请帮忙。

excel vba

4
推荐指数
1
解决办法
6714
查看次数

朱莉娅有一个懒惰的“过滤器”吗?

在Python中,可以if在列表推导中使用以滤除元素。在朱莉娅中有一个懒惰的对filter等物吗?

for x in filter(x->x<2, 1:3)
println(x)
end
Run Code Online (Sandbox Code Playgroud)

仅能工作和打印,1filter(x->x<2, 1:3)渴望并且因此对于数十亿条记录可能不是理想的。

julia

4
推荐指数
1
解决办法
110
查看次数

Is there a convenience function to compute the R^2 for GLM.jl's lm?

using RDatasets
cars = dataset("datasets", "cars")
m1 = lm(@formula(Dist~Speed), cars)
Run Code Online (Sandbox Code Playgroud)

Now how do I extract the R^2 of m1? I tried summary(m1) and it didn't contain the information.

linear-regression julia

4
推荐指数
1
解决办法
42
查看次数

如何使用非标准评估NSE评估data.table上的参数?

说我有以下

library(data.table)
cars1 = setDT(copy(cars))
cars2 = setDT(copy(cars))

car_list = list(cars1, cars2)
class(car_list) <- "dd"

`[.dd` <- function(x,...) {
  code = rlang::enquos(...)
  cars1 = x[[1]]
  rlang::eval_tidy(quo(cars1[!!!code]))
}

car_list[,.N, by = speed]
Run Code Online (Sandbox Code Playgroud)

所以我想在上执行任意操作cars1,并cars2通过定义[.dd函数,这样不管我投入...得到由执行cars1cars2使用[data.table语法如

car_list[,.N, by = speed] 应该执行以下操作

cars1[,.N, by = speed]
cars2[,.N, by = speed]
Run Code Online (Sandbox Code Playgroud)

我也想要

car_list[,speed*2]
Run Code Online (Sandbox Code Playgroud)

去做

cars1[,speed*2]
cars2[,speed*2]
Run Code Online (Sandbox Code Playgroud)

基本上,...[.dd必须接受任意代码。

我需要以某种方式捕获它,...所以我尝试去做code = rlang::enquos(...),然后rlang::eval_tidy(quo(cars1[!!!code]))不起作用并给出了错误

[.data.table(cars1,〜,〜.N,by …

r data.table nse

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

标签 统计

r ×4

csv ×3

julia ×3

excel ×2

vba ×2

awk ×1

data.table ×1

linear-regression ×1

nse ×1

perl ×1

python ×1

sed ×1

sorting ×1

string ×1

tsv ×1