小编use*_*199的帖子

从R中的列表中删除特定类的元素

我希望有一种简单的方法可以做到这一点,但搜索后无法找到答案.我有一个列表,并希望删除特定类的元素.

比如说我有清单

tempList <- list(2,4,'a', 7, 'f')
Run Code Online (Sandbox Code Playgroud)

如何删除所有字符条目只留下2,4和7的列表.

提前致谢

r list removeclass

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

R:使用dplyr按组进行前几年的t检验

我有一个包含不同组,年份及其值的数据框,例如:

data <- data.frame(
  group = c(rep('A', 120), rep('B', 120)),
  year  = rep(c(rep('2013-2014', 40), rep('2014-2015', 40), rep('2015-2016', 40)), 2),
  value = rnorm(240)
)
Run Code Online (Sandbox Code Playgroud)

对于每组中的每一年,我想进行t检验以查看这些值是否与前几年显着不同(我一直使用函数t.test(x,y,var.equal = TRUE)来执行此操作在一次性)

我想返回一个数据帧和p值,或者最好是使用gtools :: stars.pval()生成的重要星.所以返回类似下面的内容

group year      significance
A     2013-2014 NA
A     2014-2015 **
A     2015-2016 ***
B     2013-2014 NA
B     2014-2015
B     2015-2016
Run Code Online (Sandbox Code Playgroud)

在上述情况中,2014 - 2015年和2013 - 2014年间"A"差异的p值介于0.001和0.01之间,2015 - 2015年和2014 - 2015年A差异的p值<0.001.B的任何年份都没有任何显着差异的证据.

无法保证每个组的年数相同.

这样做的最好和最快的方法是什么?我希望我能用dplyr和group_by按组和年份来做吗?

statistics r dplyr

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

R:包含使用dcast时没有条目的因子

我在数据帧上使用reshape2函数dcast.其中一个变量是一些因素,其中某些级别没有出现在数据框中,但我会在创建的新列中包含所有值.

例如,我说我运行以下内容

library(reshape2)
dataDF <- data.frame(
  id = 1:6,
  id2 = c(1,2,3,1,2,3),
  x = c(rep('t1', 3), rep('t2', 3)),
  y = factor(c('A', 'B', 'A', 'B', 'B', 'C'), levels = c('A', 'B', 'C', 'D')),
  value = rep(1)
)

dcast(dataDF, id + id2 ~ x + y, fill = 0)
Run Code Online (Sandbox Code Playgroud)

我得到以下内容

  id id2 t1_A t1_B t2_B t2_C
1  1   1    1    0    0    0
2  2   2    0    1    0    0
3  3   3    1    0    0    0
4  4   1    0    0 …
Run Code Online (Sandbox Code Playgroud)

r reshape2

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

在Django中按非字段过滤

我想通过django应用程序的管理页面中的非字段列进行筛选.例如,我可以有以下内容:

class Subject(models.Model)
    name = models.CharField(max_length=100)
    def __unicode__(self):
        return self.name

class Student(models.Model)
    name = models.CharField(max_length=100)
    subject = models.ForeignKey(Subject)
    def __unicode__(self):
        return self.name

class School(models.Model)
    school = models.CharField(max_length=100)
    student = models.ForeignKey(Student)

    def subject(self)
        return self.student.subject.name
Run Code Online (Sandbox Code Playgroud)

我会在admin.py中有以下内容

class SchoolAdmin(admin.ModelAdmin):
  list_display = ('school', 'student', 'subject')
  list_filter = ('school', 'student', 'subject')

admin.site.register(School, SchoolAdmin)
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为我不能过滤主题,因为它没有引用字段?有谁知道这样做的最佳方式?通过搜索它看起来像SimpleListFilter可以做的伎俩,但我是python和django的新手,并无法解决如何为我的例子实现这一点.

提前致谢

python django filter

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

在R中一起添加列表中的各个数据帧

我在R中有两个数据帧列表(每个列表中的相应数据帧大小相同).是否可以在一行中将每个列表中的相应数据帧添加到一起.

比如说我们有

list1 <- list('a' = data.frame('x'=c(0,1),'y'=c(2,0)), 'b' = data.frame('x'=c(1,1),'y'=c(1,1)))
list2 <- list('a' = data.frame('x'=c(1,2),'y'=c(1,1)), 'b' = data.frame('x'=c(0,1),'y'=c(0,1)))
Run Code Online (Sandbox Code Playgroud)

所以list1是:

$a
 x y
 0 2
 1 0

$b
 x y
 1 1
 1 1
Run Code Online (Sandbox Code Playgroud)

而list2是:

$a
 x y
 1 1
 2 1

$b
 x y
 0 0
 1 1
Run Code Online (Sandbox Code Playgroud)

最终的输出是:

$a
 x y
 1 3
 3 1

$b
 x y
 1 1
 2 2
Run Code Online (Sandbox Code Playgroud)

显然可以通过以下方式在两个单独的行中执行此操作:

listOutput <- list()
listOutput[['a']] <- list1[['a']] + list2[['a']]
listOutput[['b']] <- list1[['b']] + list2[['b']]
Run Code Online (Sandbox Code Playgroud)

但有一种简单的方法可以在一行中完成,也许使用lapply?

谢谢

r list add dataframe

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

在包含R中特定rowname的列表中查找数据帧

我有一个数据帧列表.有没有办法找到包含特定rowname的数据框的索引?

例如,说我有

mylist<-list(
          data.frame(c(1,1),c(1,1),row.names = c('row1','row2')),
          data.frame(c(1,1),c(1,1),row.names = c('row3','row4'))
             )
Run Code Online (Sandbox Code Playgroud)

我想找到哪里row3,查询将返回2,因为它在我的列表中的第二个数据帧中.

row r list dataframe

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

查找包含不在其他字符串之前的字符串的模式

我想使用greplR中的函数来查找字符串是否包含某些内容,但条件是它不在其他内容之前.

所以例如说我想找到一个包含模式的字符串'xx',只要它不在前面'yy'.所以:

'123xx45' 世界回归 TRUE

'123yy4xx5'也会TRUE因为'yy'不在前面而返回'xx'

但是'123yyxx45'会回来FALSE.

如果有什么不清楚或者你想要一个更好的例子,请告诉我.

string grep r

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

R 检查 TRUE/FALSE 值列表是否评估为 TRUE

我对 R 比较陌生,如果这是基础知识,我很抱歉。我有这个循环,里面有一个条件,可以在 2 个列表之间进行比较,并返回一个 TRUE/FALSE 值向量。我真正需要检查的是这个向量是否只包含 TRUE 值(意味着 2 个列表是相同的)

for ( i in 1:(length(sessions_items_list)-1)){
  if (sessions_items_list[[i]]==sessions_items_list[[i+1]]){
    identical_sessions_df [i,1] <- names(sessions_items_list[i])
    identical_sessions_df [i,2] <- names(sessions_items_list[i+1])
    #identical_sessions_df [i,3] <- sessions_items_list[[i]]
    #identical_sessions_df [i,4] <- sessions_items_list[[i+1]]
  }
}
Run Code Online (Sandbox Code Playgroud)

这是一些数据:

> sessions_items_list[[2]]
 [1] "111502665618" "111505397996" "121238758674" "121480200508" "131159477858" "161469302097" "161474935929" "171526802604" "231197187139" "231381216285" "251502101205" "261650031415"
[13] "261652085962" "261652452940" "271538491767" "281398254987" "291227243345" "311065441334" "321561638226" "321566237993" "331042848072" "331251405185" "331366646532" "361096154736"
[25] "381043841996"
> sessions_items_list[[3]]
 [1] "111502665618" "111505397996" "121238758674" "131159477858" "161469302097" "161474935929" "171526802604" "231197187139" "231381216285" "251502101205" …
Run Code Online (Sandbox Code Playgroud)

r predicate list vector

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

R:在闪亮的表输出中使单元格的一部分变为粗体

我正在使用R闪亮的应用程序并使用renderTable和tableOutput创建表.是否有可能使单元格内容的一部分变为粗体,同时保持其余部分正常文本.

例如,特定单元格中的一个条目可能是:

5.3% ~1%~7

我尝试在适当的数字周围硬编码**,但它只输出了星号.

谢谢

r shiny

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

标签 统计

r ×8

list ×4

dataframe ×2

add ×1

django ×1

dplyr ×1

filter ×1

grep ×1

predicate ×1

python ×1

removeclass ×1

reshape2 ×1

row ×1

shiny ×1

statistics ×1

string ×1

vector ×1