相关疑难解决方法(0)

如何删除R中嵌套数据框中的列?

我知道有不同的方法来drop一个column一个data frame的R像

按名称删除数据框列

如何在数据框中按名称删除列

从R中的data.frame中删除整个列

现在我的问题:我有一个数据框说df有400 plus文件的形式nested data frame.

        df
    [[1]]
                SignalIntensity SNR
        1   109 6.1823089314    0.8453576915
        2   110 10.1727771385   4.3837077591
        3   111 7.2922746927    1.0725751161
        4   112 8.8984671629    2.3192184908
        5   113 9.5910338232    3.7133402249
        6   114 7.9850187685    1.5008899345
        7   116 7.7893230124    1.3636655582
                       .
                       .
                       .
    [[2]]

            SignalIntensity SNR
    1   109 6.1823089314    0.8453576915
    2   110 10.1727771385   4.3837077591
    3   111 7.2922746927    1.0725751161
    4   112 8.8984671629    2.3192184908
    5   113 9.5910338232 …
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

如何使用列名对数据框列进行子集化?

我创建了一个名为z的数据框。

  a = c(1,1,1);
  b = c(2,2,2);
  c = c(3,3,3);
  d = c(4,4,4);
  z = data.frame(a,b,c,d);
Run Code Online (Sandbox Code Playgroud)

我想从数据框 z 中删除列 c 和 d。

我试过这个代码

p = subset(z , colnames(z) == c('a' , 'b'))
Run Code Online (Sandbox Code Playgroud)

但我得到了这个结果

a   b   c   d
1   2   3   4   
1   2   3   4 
Run Code Online (Sandbox Code Playgroud)

我应该在此命令中进行哪些更改以从z 中删除c和d列。

r dataframe

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

从数据框中删除列列表

可能重复:
Drop Columns R数据框

我有一个要从IRIS表中删除的变量列表,如下所示:

dropList <- c("Sepal.Length", "Sepal.Width")
Run Code Online (Sandbox Code Playgroud)

如何使用此列表从IRIS数据框中删除?(我不想明确地提到职位)

谢谢。

r dataframe

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

R:通过引用从data.table中删除列,而不使用名称

这几乎与此重复.我想从数据表中删除列,但我想有效地完成它.我有一个我想保留的列名列表.联系问题的所有答案都意味着做类似的事情

data.table.new <- data.table.old[, my.list]
Run Code Online (Sandbox Code Playgroud)

在某些关键点上会给我一个新对象,而旧对象仍在内存中.然而,我data.table.old是巨大的,因此我更喜欢通过引用来做到这一点,如此处所示

set(data.table.old, j = 'a', value = NULL)
Run Code Online (Sandbox Code Playgroud)

但是,由于我有列的白名单,而不是黑名单,我需要遍历所有列名,检查它们是否在my.list,然后应用set().有没有更清洁/其他方式这样做?

r data.table

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

在R中删除一元变量

我想了解如何从R中的数据框中删除变量(如果它们是一元的,只包含一个值).我有时拥有包含数千个变量的数据框,我的第一步就是摆脱那些变量(通常是从数据仓库交给我的).

我明白我可以删除列

drops <- c("x","z")
DF[,!(names(DF) %in% drops)]
Run Code Online (Sandbox Code Playgroud)

如下所述: 按名称删除数据框列

但是我想要一些搜索所有变量的方法,并且只删除一元变量.

r

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

基于列名字符向量的子集数据框

菜鸟问题 - 提前感谢您的耐心...

我有一个数据框:

vals <- c(1,1,1,1)
testdf <- data.frame("var1"=vals, "var2"=vals, "var3"=vals)
Run Code Online (Sandbox Code Playgroud)

我有一个变量名的字符向量:

varnames <- c("var1", "var2")
Run Code Online (Sandbox Code Playgroud)

这是一个字符向量 b/c 我用它在脚本的前面生成一个公式。

我想对数据帧进行子集化,以便排除 varnames 中的变量,例如

newDF <- subset(df, select=-varnames)
Run Code Online (Sandbox Code Playgroud)

这会产生错误,因为subset需要名称而不是字符。所以,我lapply用来将字符更改为名称:

varnames <- lapply(varnames, as.name)
Run Code Online (Sandbox Code Playgroud)

这个 lapply 函数的结果是一个命名(?)和嵌套(?)列表。

[[1]]
var1

[[2]]
var2

[[3]]
var3
Run Code Online (Sandbox Code Playgroud)

这就是我迷路的地方(我觉得自己像吃了疯狂药丸的穆加图……这让其他人感到困惑吗!?)。我可以看到每个值都已正确地从字符更改为名称,但它位于这个奇怪的嵌套结构中 - 因此当我尝试进行子集化时,出现错误。

我尝试了各种解决方案来取消嵌套和取消命名,但都没有成功。这一定是我想念的容易的东西。

作为奖励 - 有人能告诉我为什么 lapply 返回这个嵌套的命名列表而不是简单的向量是有用的吗?例如,它似乎与 Python 非常不同。谢谢你。

r

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

如何根据列名称对数据框进行子集化?

我有这个数据框:

 dput(df)
structure(list(Server = structure(c(1L, 1L, 1L, 1L, 1L, 1L), .Label = "servera", class = "factor"), 
    Date = structure(1:6, .Label = c("7/13/2017 15:01", "7/13/2017 15:02", 
    "7/13/2017 15:03", "7/13/2017 15:04", "7/13/2017 15:05", 
    "7/13/2017 15:06"), class = "factor"), Host_CPU = c(1.812950134, 
    2.288070679, 1.563278198, 1.925239563, 5.350669861, 2.612503052
    ), UsedMemPercent = c(38.19, 38.19, 38.19, 38.19, 38.19, 
    38.22), jvm1 = c(10.91, 11.13, 11.34, 11.56, 11.77, 11.99
    ), jvm2 = c(11.47, 11.7, 11.91, 12.13, 12.35, 12.57), jvm3 = c(75.65, 
    76.88, 56.93, 58.99, 65.29, 67.97), jvm4 = …
Run Code Online (Sandbox Code Playgroud)

r

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

标签 统计

r ×7

dataframe ×3

data.table ×1