首页 文章
  • 1 votes
     answers
     views

    如何按R中列表中的唯一值进行分组

    我的数据框有一个类列表变量(str输出给出: $ X2 :List of 125 ) . 我想按此列表中的唯一值进行分组以执行某些聚合函数,但是当我在dplyr中使用group_by时,我得到: Error in eval(expr, envir, enclos) : cannot group column X2, of class 'list': A.)有没有办法按列表中的唯一值进行分组...
  • 452 votes
     answers
     views

    子集化数据帧中的丢弃因子级别

    我有一个包含因子的数据框 . 当我使用 subset() 或其他索引函数创建此数据框的子集时,会创建一个新的数据框 . 但是,因子变量保留其所有原始级别 - 即使它们不存在于新数据框中 . 这在进行分面绘图或使用依赖于因子水平的函数时会产生麻烦 . 在我的新数据框中从一个因子中删除级别的最简洁方法是什么? 这是我的例子: df <- data.frame(letters=letters[1:...
  • 27 votes
     answers
     views

    将因子转换为数字而不丢失信息R(as.numeric()似乎不起作用)[重复]

    可能重复:R - 如何在R中将因子转换为整数\ numeric而不丢失信息 有关as.numeric()函数的以下事实已引起我的注意 > blah<-c("4","8","10","15") > blah [1] "4" "8" "10&qu...
  • 3 votes
     answers
     views

    覆盖[.data.frame以默认删除未使用的因子级别

    在子集化出现时丢弃未使用的因子级别的问题before . 常见的解决方案包括通过声明尽可能使用字符向量 options(stringsAsFactors = FALSE) 但是,有时候,有序因子对于绘图是必要的,在这种情况下,我们可以使用 droplevels 之类的便利函数来为 subset 创建一个包装器: subsetDrop <- function(...){droplevels(...
  • 2 votes
     answers
     views

    R - 仅显示数据帧子集中使用的级别

    我有一个相当大的数据框,其中有一个具有很多级别(超过4,000)的因子 . 我在同一个数据框中有另一列我用作参考,我想要找到的是当参考列为NA时的水平子集 . 我正在使用的第一步是 subsetrows <- which(is.na(mydata$reference)) 但是之后我就被卡住了 . 我想要像 levels(mydata[subsetrows,mydata$factor]) 这样...
  • 0 votes
     answers
     views

    按因子子集后R空数据帧

    我需要根据一个因子变量的内容对我的数据进行子集化 . 我尝试用子集做到这一点: new <- subset(data, original$Group1=="SALAD") 数据已经是较大数据帧的子集,原始我有因子变量,应该识别所需的行 . 这适用于因子变量的一个级别,但(我真的不明白为什么!!)当我用其他因子级别"BREAD"它创建数据框但是说“ n...
  • 4 votes
     answers
     views

    在ggplot中进行子集化时的因子顺序

    我在x轴上有因子,并以一种直观的方式用ggplot绘制这些因子水平 . 它工作正常 . 但是,当我在ggplot中使用subset命令时,它会重新排序我原始的因子序列 . 是否可以在ggplot中进行子集化并保留因子级别的顺序? 这是数据和代码: library(ggplot2) library(plyr) dat <- structure(list(SubjectID = structur...
  • 0 votes
     answers
     views

    R因子的颜色图例

    在Windows 10中使用R 3.3.1 . 我正在从95行数据制作x-y图 . 数据分为6个不同的分组(一个名为"group"的因子) . The plot itself is easy enough, but I can't get the legend to properly account for the factor and color correctly. 这...
  • 0 votes
     answers
     views

    如何输出所有级别,长度不等于3?

    我想显示所有级别,其长度(如 character )不等于3个符号 . 以下代码返回每行 dt$col 的长度: with(dt, nchar(as.character(dt$col))) 但是如果我将 levels(dt$col) 作为第一个参数传递,则会因以下错误而失败: eval中的错误(substitute(expr),data,enclos = parent.frame()):'ch...
  • 0 votes
     answers
     views

    GAM下降的因子水平适合[关闭]

    我正在使用GAM模型根据给定点的某些环境条件预测物种丰度 . 我已经创建了一个广义加法模型(GAM)来做这个并基于我的预测 . 但是,我在模型方程中有一个分类变量(沉积类型= [1,2,3,4]) . 这个等式似乎工作得很好,但是拟合的结果似乎吸收了截距中的因子水平'1' . 见下文 . 任何人都可以解释这个模型发生了什么?我不完全明白 . 这是使用mgcv包在R中运行的 . 谢谢! Equati...
  • 25 votes
     answers
     views

    连接数据帧的行

    我想采用带有字符和数字的数据框,并将每行的所有元素连接成一个字符串,该字符串将作为单个元素存储在向量中 . 作为一个例子,我创建了一个字母和数字的数据框,然后我想通过粘贴函数连接第一行,并希望返回值“A1” df <- data.frame(letters = LETTERS[1:5], numbers = 1:5) df ## letters numbers ## 1 A...
  • 3 votes
     answers
     views

    用因子对象替换数据框的列而不是插入字符数据?

    在尝试绘制我的数据时,我发现了一个意外的行为,导致我的群体被错误地重新排列和错误标记 . 简而言之,将因子对象存储到数据帧的多个列会导致它被强制转换为字符,而不是因素 . 这似乎与previously-answered question here有关,但我仍然不明白为什么会这样 . # x is a factor (x = factor(c("red", "blue&...
  • 7 votes
     answers
     views

    涉及因素的data.table赋值

    我正在使用 data.table (1.8.9)和 := 运算符来更新另一个表中的值 . 要更新的表(dt1)有许多因子列,带有更新的表(dt2)具有类似的列,其值可能不存在于另一个表中 . 如果dt2中的列是字符,我会收到一条错误消息,但是当我将它们分解时,我会得到不正确的值 . 如何在不将所有因子首先转换为字符的情况下更新表格? 这是一个简化的例子: library(data.table) ...
  • 1 votes
     answers
     views

    排除ggplot中每个方面中未使用的因子级别

    考虑这个数据框: df <- data.frame(vars=c(rnorm(3),rnorm(3,2,1), rnorm(3,1,1)), names=c("a","b","c","a","d","b","c","a...
  • 14 votes
     answers
     views

    ggplot:为连续x的每个组排列多个y变量的箱线图

    我想为连续x变量的组创建多个变量的箱线图 . 对于每组x,箱形图应该彼此相邻排列 . 数据如下所示: require (ggplot2) require (plyr) library(reshape2) set.seed(1234) x <- rnorm(100) y.1 <- rnorm(100) y.2 <- rnorm(100) y.3 <- rnorm(100...

热门问题