小编ego*_*go_的帖子

将列表转换为数据框,同时保留列表元素名称

我有列表,其中元素名称是ID标签,并包含带有数值的向量.这些是不相等的(!)长度.

我想将其转换为数据框,其中我在一列中具有ID,在另一列中具有数值.例如:

$`1`  
[1] 1 2   
$`2`  
[1] 1 2 3 
$`3`  
[1] 1   
Run Code Online (Sandbox Code Playgroud)

至:

ID   Obs  
1    1  
1    2
2    1
2    2
2    3
3    1
Run Code Online (Sandbox Code Playgroud)

r list dataframe r-faq

11
推荐指数
3
解决办法
9974
查看次数

删除列表中数据框中的列

我根据A列中的因子级别从我的数据框中创建了一个列表.在列表中我想删除该列.我的头说是lapply,但不是别的什么:P

$A
ID Test
A   1
A   1

$B
 ID Test
 B   1
 B   3
 B   5
Run Code Online (Sandbox Code Playgroud)

进入这个

$A
Test
 1
 1

$B
Test
 1
 3
 5
Run Code Online (Sandbox Code Playgroud)

r list dataframe

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

在R中提取矩阵的子对角线和超对角线

正如标题所暗示的,如何提取矩阵的子对角线和超对角线?

r extract matrix diagonal

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

R中的幽灵因子水平

可能重复:
在R中的子集化数据帧中丢弃因子级别

我已经用一定的因子水平对观察进行了子集化.当检查是否已经完成时,summary()仍然列出了水平,但没有观察到.它们不应该在子集中消失吗?

r subset r-factor

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

在R中使用ifelse on factor

我正在重组一个物种名称的数据集.它有一个带有拉丁名称的列和具有普通名称的列(如果可用).我想制作第3列,在可用时给出琐碎的名称,否则为拉丁名称.琐碎的名字和拉丁名字都属于因子级.我试过if-loop:

  if(art2$trivname==""){  
    art2$artname=trivname   
    }else{  
      art2$artname=latname  
    }  
Run Code Online (Sandbox Code Playgroud)

它给了我正确的trivnames,但只在提供拉丁名字时给出了NA.
当我使用ifelse时,我只会得到数字.

一如既往,所有帮助赞赏:)

if-statement r r-factor

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

考虑随机/混合效应后的共线性

在考虑随机效应后,两个/更多的预测变量会变得更多/更少共线吗?

在我的情况下,我在建模之前测试了共线性,例如使用VIF,一切都检查出来.然而,不同模型的排名(使用IC)使我不确定它是否真的能够在预测变量之间分离.

有任何想法吗?

PS!那些代表比我更高的人可以添加一个更相关的标签,如共线性吗?

regression r lme4 mixed-models nlme

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

使用ifelse从R中的数据集中删除不需要的行

我有一个数据集,我希望在第一个观察年中删除第一个月的几个人的出现.有可能用ifelse做到这一点吗?就像是:

ifelse(ID=="1" & Month=="11" and Year=="2006", "remove these rows",  
  ifelse(ID=="2" & Month=="11" & Year=="2007", "remove these rows",   
         "nothing"))  
Run Code Online (Sandbox Code Playgroud)

一如既往,所有帮助赞赏!:)

if-statement r subset

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

改变ddply的输出

是否可以改变ddply的输出?我想知道是否有可能在一行上呈现子集的唯一结果,而不是给每个结果一个新行.例如

ID   Season  Year
5074 Summer 2008
5074 Summer 2009
5074 Winter 2008
5074 Winter 2009
5074 Winter 2010
Run Code Online (Sandbox Code Playgroud)

成...

ID   Season  Year  
5074 Summer  2008,2009  
5074 Winter  2008,2009,2010  
Run Code Online (Sandbox Code Playgroud)

我经常使用ddply来手动诊断for循环的结果等,并且像这样显示结果会减少输出的长度并使检查更快.

干杯!

r plyr data.table

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

按组在data.table中创建新列

我没有使用data.table的经验,所以我不知道我的问题是否有解决方案(至少在Google上30分钟没有给出答案),但是就可以了。

对于data.frame,我经常使用以下命令检查唯一值的观察次数:

df$Obs=with(df, ave(v1, ID-Date, FUN=function(x) length(unique(x))))  
Run Code Online (Sandbox Code Playgroud)

使用data.table时有相应的方法吗?

r vector data.table

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

疏浚中的子集(MuMIn) - 如果存在主要影响,则必须包括交互

我正在做一些探索工作,我使用挖泥机{MuMIn}.在这个过程中,我想设置两个变量,只有当它们之间的相互作用存在时,它们才能被允许在一起,即它们不能仅作为主效应一起存在.

使用样本数据:我想挖掘模型fm1(不管它可能没有意义).如果变量GNP和Population一起出现,它们还必须包括它们之间的相互作用.

require(stats); require(graphics)
## give the data set in the form it is used in S-PLUS:
longley.x <- data.matrix(longley[, 1:6])
longley.y <- longley[, "Employed"]
pairs(longley, main = "longley data")
names(longley)
fm1 <- lm(Employed ~GNP*Population*Armed.Forces, data = longley)
summary(fm1)
dredge(fm1, subset=!((GNP:Population) & !(GNP + Population)))
dredge(fm1, subset=!((GNP:Population) && !(GNP + Population)))

dredge(fm1, subset=dc(GNP+Population,GNP:Population))
dredge(fm1, subset=dc(GNP+Population,GNP*Population))
Run Code Online (Sandbox Code Playgroud)

我如何指明dredge()它应该忽略所有存在GNP和人口的模型,而不是它们之间的相互作用?

variables regression r linear-regression model-comparison

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

使用'by'和条件替换data.table中的行值

我试图根据分组中另一列中的条件替换列中的某些行值.

编辑:编辑以突出问题的递归性质.

例如

DT = data.table(y=rep(c(1,3), each = 3)
            ,v=as.numeric(c(1,2,4,4,5,8))
            ,x=as.numeric(rep(c(9:11),each=2)),key=c("y","v"))
DT
   y v  x
1: 1 1  9
2: 1 2  9
3: 1 4 10
4: 3 4 10
5: 3 5 11
6: 3 8 11
Run Code Online (Sandbox Code Playgroud)

在每个'y'中,我想要替换'x'的值,其中'v'具有观察值v + t(例如t = 3),其中2222(或实际上是函数的结果)得到以下结果:

   y v  x
1: 1 1  9
2: 1 2  9
3: 1 4 2222
4: 3 4 10
5: 3 5 11
6: 3 8 2222
Run Code Online (Sandbox Code Playgroud)

我试过以下,但无济于事.

  DT[which((v-3) %in% v), x:= 2222, y][]
Run Code Online (Sandbox Code Playgroud)

它神秘地(?)导致: …

conditional replace r subset data.table

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

make ggplot2 :: stat_bin2d显示密度而不是计数

有可能让它显示组内密度而不是计数吗?

library(ggplot2);data(diamonds)
ggplot(diamonds, aes(carat, depth)) +  
  stat_bin2d(bins=40)+ facet_wrap(~color)
Run Code Online (Sandbox Code Playgroud)

这样可以更容易地比较各组之间的模式,因为有些组可能自然会更多.

问题与以下内容略有相似:如何在每列(按X轴)缩放(标准化)ggplot2 stat_bin2d的值,这也是缺少答案的.

r ggplot2

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

比较两个因素的水平

是否有可能评估两个因素,看它们是否具有相同数量的数字,如果是这样,哪一个不存在于哪一个?

r r-factor

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