相关疑难解决方法(0)

将data.table的行转换为向量

我想将data.table行转换为向量.这对我有用:

unlist(dt[row_num])
Run Code Online (Sandbox Code Playgroud)

但是有更原生的解决方案吗?我也不喜欢上面保留名称的时候我真的想要一个纯数字向量,然后导致:

as.numeric(unlist(dt[row_num]))
Run Code Online (Sandbox Code Playgroud)

似乎应该有更好的选择.

r data.table

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

在R中选择表内行的快速方法?

我正在寻找一种从更大的表中提取大量行的快速方法.我的表顶部如下:

> head(dbsnp)

      snp      gene distance
rs5   rs5     KRIT1        1
rs6   rs6   CYP51A1        1
rs7   rs7 LOC401387        1
rs8   rs8      CDK6        1
rs9   rs9      CDK6        1
rs10 rs10      CDK6        1
Run Code Online (Sandbox Code Playgroud)

尺寸:

> dim(dbsnp)
[1] 11934948        3
Run Code Online (Sandbox Code Playgroud)

我想选择列表中包含rownames的行:

> head(features)
[1] "rs1367830" "rs5915027" "rs2060113" "rs1594503" "rs1116848" "rs1835693"

> length(features)
[1] 915635
Run Code Online (Sandbox Code Playgroud)

毫不奇怪,这样做的直接方式temptable = dbsnp[features,]需要相当长的时间.

我一直在研究如何通过R中的sqldf包来实现这一点.我认为这可能会更快.不幸的是,我无法弄清楚如何在SQL中选择具有某些rownames的行.

谢谢.

sql row r sqldf data.table

7
推荐指数
3
解决办法
2260
查看次数

订购数据框时的奇怪行为

我有以下数据框,我想按第五列("距离")排序.当我尝试`

df.order <- df[order(df[, 5]), ]
Run Code Online (Sandbox Code Playgroud)

我总是收到以下错误消息.

Error in order(df[, 5]) : unimplemented type 'list' in 'orderVector1'`
Run Code Online (Sandbox Code Playgroud)

我不知道为什么R将我的数据框视为列表.运行is.data.frame(df)回报TRUE.我不得不承认is.list(df)也会回来TRUE.是否可以强制我的数据框只是一个数据框而不是一个列表?谢谢你的帮助.

structure(list(ID = list(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 
               Latitude = list(50.7368, 50.7368, 50.7368, 50.7369, 50.7369, 50.737, 50.737, 50.7371, 50.7371, 50.7371), 
               Longitude = list(6.0873, 6.0873, 6.0873, 6.0872, 6.0872, 6.0872, 6.0872, 6.0872, 6.0872, 6.0872), 
               Elevation = list(269.26, 268.99, 268.73, 268.69, 268.14, 267.87, 267.61, 267.31, 267.21, 267.02), 
               Distance = list(119.4396, 119.4396, 119.4396, 121.199, …
Run Code Online (Sandbox Code Playgroud)

r dataframe

7
推荐指数
1
解决办法
8113
查看次数

为什么类函数不将向量视为 R 中的向量?

我正在学习这个帖子

作者声称这是一个向量

a <- c(1,2,5.3,6,-2,4) # numeric vector
Run Code Online (Sandbox Code Playgroud)

但类函数不认为它是一个向量

> class(a)
[1] "numeric"
Run Code Online (Sandbox Code Playgroud)

对于矩阵来说,一切都很顺利。

> a = matrix(1:6, nrow = 2, ncol = 3)
> class(a)
[1] "matrix"
Run Code Online (Sandbox Code Playgroud)

这是为什么?

r

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

什么是矢量?

有一个data.frame

> x

        date  open  high   low close   volume adjusted  
1 2010-01-04 24.52 24.58 23.68 23.71 24192200    23.71  
2 2010-01-05 23.75 23.90 22.75 23.30 55649900    23.30  
3 2010-01-06 23.25 23.25 22.72 22.90 41214300    22.90  
4 2010-01-07 22.90 23.05 22.40 22.65 35533600    22.65  
5 2010-01-08 22.50 22.75 22.35 22.60 28854300    22.60  
6 2010-01-11 23.50 23.68 22.28 22.60 44284600    22.60

> is.vector(x[,1])
[1] FALSE  
> is.vector(x[,2])
[1] TRUE  
> is.vector(x[,1])
[1] FALSE 
> is.vector(x[,3])
[1] TRUE  
> is.vector(x[,4])
[1] TRUE  
> is.vector(x[,5]) …
Run Code Online (Sandbox Code Playgroud)

r

0
推荐指数
1
解决办法
134
查看次数

标签 统计

r ×5

data.table ×2

dataframe ×1

row ×1

sql ×1

sqldf ×1