相关疑难解决方法(0)

通过列索引而不是名称将函数应用于data.table列的子集

我正在尝试将函数应用于大型data.table中的一组列,而不是单独引用每个列.

a <- data.table(
  a=as.character(rnorm(5)),
  b=as.character(rnorm(5)),
  c=as.character(rnorm(5)),
  d=as.character(rnorm(5))
)
b <- c('a','b','c','d')
Run Code Online (Sandbox Code Playgroud)

以上MWE,这个:

a[,b=as.numeric(b),with=F]
Run Code Online (Sandbox Code Playgroud)

工作,但这:

a[,b[2:3]:=data.table(as.numeric(b[2:3])),with=F]
Run Code Online (Sandbox Code Playgroud)

不起作用.将as.numeric函数应用于第2列和第3列的正确方法是什么,a而不单独引用它们.

(在实际的数据集中有几十列,所以这是不切实际的)

r multiple-columns indices data.table

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

使用带行和列名称的fread读取文件

使用fread,如何读取包含行名和列名的CSV文件.我试过跟随,但它没有正确读取行和列名称.

csv文件看起来像(其中C1,C2,C3是列名,r1,r2,r3是行名)

input = ",C1,C2,C3
r1,A,B,C
r2,1,3,5
3,2,4,6"
Run Code Online (Sandbox Code Playgroud)

我用的是功能

require(data.table)
fread(input,header = TRUE)
Run Code Online (Sandbox Code Playgroud)

哪个给

   r1 A B C
1: r2 1 3 5
2:  3 2 4 6
Run Code Online (Sandbox Code Playgroud)

如何使用fread正确读取CSV?

csv r data.table

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

标签 统计

data.table ×2

r ×2

csv ×1

indices ×1

multiple-columns ×1