我有一个包含多个列的数据框.我想创建一个名为"id"的新列,它为"sample"列中的每组相同值提供唯一的ID号.
示例数据:
# dput(df)
df <- structure(list(index = 1:30, val = c(14L, 22L, 1L, 25L, 3L, 34L,
35L, 36L, 24L, 35L, 33L, 31L, 30L, 30L, 29L, 28L, 26L, 12L, 41L,
36L, 32L, 37L, 56L, 34L, 23L, 24L, 28L, 22L, 10L, 19L), sample = c(5L,
6L, 6L, 7L, 7L, 7L, 8L, 9L, 10L, 11L, 11L, 12L, 13L, 14L, 14L,
15L, 15L, 15L, 16L, 17L, 18L, 18L, 19L, 19L, 19L, 20L, 21L, 22L,
23L, 23L)), .Names = c("index", "val", "sample"), class = …Run Code Online (Sandbox Code Playgroud) 我使用下面的代码在R中运行层次聚类分析后生成了一个树形图.我现在尝试根据另一个因子变量为标签着色,该变量保存为矢量.我实现这一目标的最接近的方法是使用包中的ColourDendrogram函数对分支进行颜色编码sparcl.如果可能的话,我更愿意对标签进行颜色编码.我在以下链接中找到了类似问题的答案在树形图中使用现有列和着色分支的树形图的颜色分支,但是我还没有能够找到如何为我的目的转换示例代码.下面是一些示例数据和代码.
> dput(df)
structure(list(labs = c("a1", "a2", "a3", "a4", "a5", "a6", "a7",
"a8", "b1", "b2", "b3", "b4", "b5", "b6", "b7"), var = c(1L,
1L, 2L, 1L, 2L, 2L, 1L, 2L, 1L, 2L, 1L, 1L, 2L, 2L, 2L), td = c(13.1,
14.5, 16.7, 12.9, 14.9, 15.6, 13.4, 15.3, 12.8, 14.5, 14.7, 13.1,
14.9, 15.6, 14.6), fd = c(2L, 3L, 3L, 1L, 2L, 3L, 2L, 3L, 2L,
4L, 2L, 1L, 4L, 3L, 3L)), …Run Code Online (Sandbox Code Playgroud) 我使用了 for 循环来加载一些文件,执行一些任务并将结果写入新的 csv 文件。存储输入文件的目录是在运行循环之前设置的,但我不想将输出 csv 文件保存到同一目录,而是将其发送到循环内的新目录。
这是一个非常简单的 for 循环示例:
p <- "~/Desktop/MyFolder"
setwd(p)
files <- list.files(path=dir, pattern="csv$", full.names=FALSE, recursive=FALSE)
for(i in 1:length(files)){
f <- lapply(files[i], read.csv, header=TRUE, stringsAsFactors=FALSE)
cat2 <- f[f$mod ==2, c(1,6)]
filename <- files[1]
tn <- strsplit(filename,"_")[[1]][1]
fn <- paste(tn, "_trimmed.csv", sep="")
write.csv(cat2, file=fn, row.names=FALSE)
}
Run Code Online (Sandbox Code Playgroud)
我对 R 还很陌生,还不知道如何做到这一点。任何帮助,将不胜感激。
我试图在具有一个固定效应的GAMM模型中指定随机截距和随机斜率项.
我已经使用mgcv库中的以下代码成功地使用随机截距拟合了一个模型,但现在无法确定gamm()函数中随机斜率的语法:
M1 = gamm(dur ~ s(dep, bs="ts", k = 4), random= list(fInd = ~1), data= df)
Run Code Online (Sandbox Code Playgroud)
如果我在线性混合效果模型中同时使用随机截距和斜率,我会按以下方式编写它:
M2 = lme(dur ~ dep, random=~1 + dep|fInd, data=df)
Run Code Online (Sandbox Code Playgroud)
在gamm()支持文档指出随机条款需要在给予list的形式为lme(),但我找不到任何解释的例子,其中包括斜率和截距项.任何建议/解决方案将不胜感激.
我有一个数据框,其中包含已读入 R 的日期时间列。时间值显示为数字时间,如下面的数据示例所示。我想将这些转换为 datetime POSIXct 或 POSIXlt 格式,以便可以查看日期和时间。
tdat <- c(974424L, 974430L, 974436L, 974442L, 974448L, 974454L, 974460L, 974466L, 974472L,
974478L, 974484L, 974490L, 974496L, 974502L, 974508L, 974514L, 974520L, 974526L,
974532L,974538L)
Run Code Online (Sandbox Code Playgroud)
974424应该等于00:00:00 01/03/2011,但不知道数值的原始时间(即下面使用的 1970-01-01 不起作用)。我曾尝试使用如下命令来实现这一点,并花了一些时间尝试开始as.POXISct工作,但我还没有找到解决方案(即我要么以 POSIXct 的 NA 对象结束,要么以模糊的日期时间值结束) .
尝试将数字时间转换为日期时间:
datetime <- as.POSIXct(strptime(time, format = "%d/%m/%Y %H:%M:%S"))
datetime <- as.POSIXct(as.numeric(time), origin='1970-01-01')
Run Code Online (Sandbox Code Playgroud)
我确信这是一件简单的事情。任何帮助将不胜感激。谢谢!
我已经oneway.test()在 R 中使用韦尔奇的校正运行了单向方差分析测试,因为我的数据违反了等方差的假设(转换没有解决问题)。
一个简单的数据示例:
> dput(df)
structure(list(Count = c(13, 14, 14, 12, 11, 13, 14, 15, 13,
12, 20, 15, 9, 5, 13, 14, 7, 17, 18, 14, 12, 12, 13, 14, 11,
10, 15, 14, 14, 13), Group = structure(c(1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L), .Label = c("a", "b", "c"
), class = …Run Code Online (Sandbox Code Playgroud) 我有一个raster具有大量属性的对象,我想在R中绘制空间数据,并用特定属性对其进行颜色编码.我无法弄清楚如何使用特定属性的信息来实现这一目标.到目前为止,我已经使用成功提取了选择属性factorValues(),但我无法确定如何将此信息合并到plot()函数中.我尝试使用光栅包文档中提到的ratify()和level()函数,但我不明白如何为具有多个属性的栅格调整简化的在线示例.
如何实现这一点的任何建议将不胜感激.
# read in shapefile
shp = readOGR(".", "grid")
#convert to raster
r = raster(extent(shp))
res(r) = c(1,0.5)
ra = rasterize(shp, r)
#crop raster to desired extent
rcrop = crop(ra, extent(-12, 2, 29, 51))
# extract attribute value of interest
f = factorValues(rcrop, 1:420, layer=1, att=17, append.names=FALSE)
# here there are 420 cells in the raster and I am interested in plotting values of attribute 17 of the raster …Run Code Online (Sandbox Code Playgroud) 我正在使用线性混合效应模型(使用lme()R中nlme包中的函数运行),它具有一个固定效果和一个随机截距项(以考虑不同的组).该模型是如此指定的三次多项式模型(遵循以下建议):
M1 = lme(dv ~ poly(iv,3), data=dat, random= ~1|group, method="REML")
Run Code Online (Sandbox Code Playgroud)
仅限一些示例数据:
> dput(dat)
structure(list(group = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1",
"2"), class = "factor"), iv = c(24L, …Run Code Online (Sandbox Code Playgroud) 我有一个数据框,我想在 R 中堆叠它,这样我最终会得到三列。下面是当前格式的一些示例数据。
> dput(df)
structure(list(Day = c("d1", "d2", "d3", "d4", "d5", "d6", "d7",
"d8", "d9", "d10"), A1 = c(14L, 24L, 22L, NA, NA, NA, NA, NA,
NA, NA), A2 = c(9L, 15L, 34L, 2L, 12L, 34L, 234L, 34L, NA, NA
), A3 = c(3L, 4L, 19L, 76L, 34L, 34L, 23L, 24L, 37L, 44L), A1.1 = c(34L,
55L, 75L, 12L, 56L, 35L, 3L, 22L, NA, NA)), .Names = c("Day",
"A1", "A2", "A3", "A1.1"), class = "data.frame", row.names = c(NA,
-10L)) …Run Code Online (Sandbox Code Playgroud) r ×9
dataframe ×2
plot ×2
anova ×1
attributes ×1
colors ×1
datetime ×1
dendextend ×1
dendrogram ×1
directory ×1
for-loop ×1
mgcv ×1
mixed-models ×1
nlme ×1
numeric ×1
polynomials ×1
posixct ×1
posthoc ×1
predict ×1
random ×1
raster ×1
reformat ×1
stack ×1
unique ×1