小编Dar*_* PC的帖子

如何按数据类型从data.frame中删除列?

我有一个data.frame,包含近200个变量(列)和不同类型的数据(num,int,logi,factor).现在,我想删除"factor"类型的所有变量来运行函数cor()

当我使用函数str()时,我可以看到哪些变量属于"factor"类型,但我不知道如何选择和删除所有这些变量,因为逐个删除是很费时间的.为了选择这些变量,我尝试了attr()和typeof()而没有结果.

有些方向?

r

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

How to color the branches and tick labels in the heatmap.2?

I have done a Heat Map using the function heatmap.2 of gplots in R, but I don't have an idea of how to coloring the branches and tick labels per groups (Eg. if I cut the tree to have four gruops like in my second figure). I have checked that it is possible to color the dendrogram alone using dendextend package.

Also there is a heatmap here: selecting number of leaf nodes of dendrogram in heatmap.2 in R with a …

r dendrogram heatmap gplots dendextend

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

R:具有特定变量范围的多元线性回归

它看起来很简单,但是我不知道如何在R中进行编码。我有一个带有约100个变量的数据框(df),并且我想在响应中进行多元回归,即我的第一个变量(Y)和变量25至60作为回归变量。问题是我不想像这样写每个变量名:

lm(Y~var25+var26+.......var60, data=df)
Run Code Online (Sandbox Code Playgroud)

我想使用[,​​25:60]之类的东西来选择一个完整的范围。我已经尝试过了,但是没有用:

test <- lm(Y~df[, 25:60], data=df)
summary(test)
Run Code Online (Sandbox Code Playgroud)

有想法吗?

r lm

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

如何从data.frame中的cor.test()中提取p.value和估计?

在这个例子中,我有50个不同站点的温度值,我想将Site1与所有50个站点相关联.但我想只将data.frame中函数cor.test()生成的组件"p.value""estimate"提取到两个不同的列中.

我做了我的尝试并且它有效,但我不知道怎么做!出于这个原因,我想知道如何简化我的代码,因为问题是我必须运行两次循环"for"以获得我的结果.

这是我的例子:

# Temperature data
 data <- matrix(rnorm(500, 10:30, sd=5), nrow = 100, ncol = 50, byrow = TRUE,
               dimnames = list(c(paste("Year", 1:100)),
                               c(paste("Site", 1:50))) )
# Empty data.frame
 df <- data.frame(label=paste("Site", 1:50), Estimate="", P.value="")

# Extraction
for (i in 1:50) {
 df1 <- cor.test(data[,1], data[,i] )
 df[,2:3] <- df1[c("estimate", "p.value")]
   }

for (i in 1:50) {
  df1 <- cor.test(data[,1], data[,i] )
 df[i,2:3] <- df1[c("estimate", "p.value")]
   }

 df
Run Code Online (Sandbox Code Playgroud)

我非常感谢你的帮助:)

for-loop r

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

如何在R中生成包含NA值的序列?

我想知道如何生成从0到100的自动化序列,数字每个只有5个位置,其余的都应该是NA值.最后我想有这样的事情:

> labCol
[1]  0 NA NA NA NA  5 NA NA NA NA 10 NA NA NA NA 15 NA  .....  100
Run Code Online (Sandbox Code Playgroud)

我像这样手动完成了这个例子,但是很耗时:

labCol <- c(0, NA, NA, NA, NA, 5, NA, NA, NA, NA, 10, NA, NA, NA, NA, 15, NA, ... 100 )
Run Code Online (Sandbox Code Playgroud)

我无法在seq()函数中找到一个选项来执行此操作.

这个问题是因为我正在使用包的功能heatmap.2()进行热图gplots,并且列标签太靠近了.我也不能每5或10个位置设置标签.这就是为什么我需要使用NA值生成我自己的标签序列以避免这种重叠.

欢迎任何建议:)

r heatmap seq na gplots

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

标签 统计

r ×5

gplots ×2

heatmap ×2

dendextend ×1

dendrogram ×1

for-loop ×1

lm ×1

na ×1

seq ×1