我试图用来rowSds()计算每一行标准偏差,以便我可以选择具有高sds的行来绘制图形.
我调用的数据框是xx这样的:
head(xx,1)
Job variable 2012-02-23 2012-02-24 2012-02-25 2012-02-27 2012-02-28 2012-02-29 2012-03-01 2012-03-02 2012-03-03 2012-03-05 2012-03-06 2012-03-07 2012-03-08 2012-03-09 2012-03-10 2012-03-12 2012-03-13 2012-03-14
1 A Duration 152 424 NA 499 320 117 211 363 NA 605 76 309 204 185 NA 25 733 500
2012-03-15 2012-03-16 2012-03-17 2012-03-19 2012-03-20 2012-03-21 2012-03-22 2012-03-23 2012-03-24 2012-03-26 2012-03-27 2012-03-28 2012-03-29 2012-03-30 2012-03-31 2012-04-02 2012-04-03 2012-04-04 2012-04-05 2012-04-06
1 521 601 NA 229 758 421 334 659 NA 419 423 …Run Code Online (Sandbox Code Playgroud) 当我使用以下R代码时,
model_glm=glm(V1~. , data=xx,family="binomial");
save(file="modelfile",model_glm);
Run Code Online (Sandbox Code Playgroud)
modelfile的大小将与数据一样多,在我的情况下将是1gig.如何删除model_glm结果中的数据部分,因此我只能保存一个小文件.
很抱歉这个简单的问题,我在搜索中找不到合适的解决方案.我想在我的数据框中创建一个新列,并用1到100之间的随机数填充(可以重复).
以下是我目前正在使用的代码,
data$newrow <- rep(1:100,replace=T, nrow(data))
我收到此错误:
Error in `$<-.data.frame`(`*tmp*`, "newrow", value = c(1L, 2L, :
replacement has 2088800 rows, data has 20888`
Run Code Online (Sandbox Code Playgroud)
你能帮我修改我的代码吗?
我有一个列表(长度为3),由子列表组成(每个都有不同的长度 - 2,2,3).我想将所有这些存储为一个大的列表(例如,没有子列表 - 只有一个长度为7的列表).我理解如何手动完成,但有一个我可以使用的功能或命令吗?
我希望能够为任何长度的列表和子列表执行此操作.
这是列表的一个例子:
[[1]]
[[1]][[1]]
name n l_1 t t_3 t_4 t_5 cluster
12 563035 19 9.263158 0.2017045 0.06379453 0.075876830 0.095852895 1
14 563037 19 8.026316 0.2076503 0.05634675 0.098684211 -0.104566563 1
[[1]][[2]]
name n l_1 t t_3 t_4 t_5 cluster
13 563036 20 7.200000 0.1838450 -0.06428098 0.085681987 -0.011070830 2
17 563042 20 7.725000 0.2168285 0.15161037 0.117570045 -0.067102568 2
[[2]]
[[2]][[1]]
name n l_1 t t_3 t_4 t_5 cluster
1 561101 11 6.772727 0.19731544 0.029478458 -0.128117914 6.235828e-02 …Run Code Online (Sandbox Code Playgroud) 想象一下,我有一个向量x,我想创建一个矩阵,所有可能的n选择x的元素的2个组合.
更详细的,让我们说x是,
x = c(1,2,3,4)
Run Code Online (Sandbox Code Playgroud)
然后,所有可能的(4选2)= 6,
X = as.matrix(data.frame(col1 = c(1,1,1,2,2,3), col2 = c(2,3,4,3,4,4)))
Run Code Online (Sandbox Code Playgroud)
R中有功能吗?
是否有一种简单的方法可以避免R中的0除法错误.具体来说,
a <- c(1,0,2,0)
b <- c(3,2,1,0)
sum(b/a)
Run Code Online (Sandbox Code Playgroud)
此代码由于除以零而产生错误.我想要一种方法来定义任何/ 0 = 0,以便这种操作仍然有效.
我有一个R数据框:
a <- 1:12
list <- c(rep("x",3),rep("y",4),rep("z",3),rep("x",2))
data <- data.frame(a,list)
data
a list
1 x
2 x
3 x
4 y
5 y
6 y
7 y
8 z
9 z
10 z
11 x
12 x
Run Code Online (Sandbox Code Playgroud)
我想创建一个新列,每当"list"的值发生变化时,该列开始计数为1,即在此示例中:
b <- c(1:3,1:4,1:3,1:2)
data <- data.frame(a,list,b)
Run Code Online (Sandbox Code Playgroud)
我不是R的专家,也不能为我的生活找到一种有效的方法.我的主要问题似乎是"list"的任何值都可以随时返回,但是对于一个值的块的长度没有规则.有没有人有任何想法?谢谢!
我遇到了某项任务.我想要的是一个函数,给定一个目录路径,将返回一个递归列表作为输出.
输出的格式应为myList $ dir $ subdir $ subdir $ fullFilePath
所以基本上我想将目录树表示为某个列表.我获取所有文件,获取每个文件的所有子目录,但我不知道如何将它全部扔进多个级别的列表中.
我有一个矩阵,其中rownames是日期.我想将这些行名称提取到一个变量中,然后使用rownames()将这些日期应用到我拥有的另一个矩阵中.假设矩阵称为'data.matrix'.
每当我跑:
data.matrix[,0]
Run Code Online (Sandbox Code Playgroud)
我得到了所有日期的打印输出.所以我这样做:
v <- data.matrix[,0]
Run Code Online (Sandbox Code Playgroud)
当我返回v时,我得到了所有日期的清单.但是当我使用时:
rownames(other.matrix) <- v
Run Code Online (Sandbox Code Playgroud)
然后我回来:
head(other.matrix)
Run Code Online (Sandbox Code Playgroud)
我没有得到任何新的列名.
另外,当我尝试:
head(v)
Run Code Online (Sandbox Code Playgroud)
我明白了 NULL
但当我这样做时:
v
Run Code Online (Sandbox Code Playgroud)
我得到了所有约会的精美打印件.
什么给出了什么?起初我认为矩阵和日期是不相容的,但似乎它们似乎是.
现在我用merge()这种方式添加日期:
z <- merge(v, other.matrix)
Run Code Online (Sandbox Code Playgroud)
但感觉有更好的方法来做到这一点.
我正在使用R生成如何处理我正在教授的统计类的缺失数据的示例.一种方法需要生成"缺失值二进制变量",其中0表示包含缺失值的情况,1表示没有缺失值.例如
n X Y Z
1 4 300 2
2 8 400 4
3 10 500 7
4 18 NA 10
5 20 50 NA
6 NA 1000 5
Run Code Online (Sandbox Code Playgroud)
我想生成一个变量M,这样
n m
1 1
2 1
3 1
4 0
5 0
6 0
Run Code Online (Sandbox Code Playgroud)
考虑到R处理缺失值的能力,这看起来应该很简单.我发现的最接近的是m <-ifelse(is.na(missguns),0,1),但所有这一切都会生成一个新的整个数据矩阵,其中0或1表示缺失.但是,我只想要一个变量来指示行是否包含缺失值.