小编lmo*_*lmo的帖子

来自"sampling"的strata()返回错误:参数意味着不同的行数

我有一个如下所示的数据框:

'data.frame':   1090 obs. of  8 variables:
 $ id            : chr  "INC000000209241" "INC000000218488" "INC000000218982" "INC000000225646" ...
 $ service.type  : chr  "Incident" "Incident" "Incident" "Incident" ...
 $ priority      : chr  "Critical" "Critical" "Critical" "Critical" ...
Run Code Online (Sandbox Code Playgroud)

我订购的数据如下:

data <- data[order(data$priority),]
Run Code Online (Sandbox Code Playgroud)

我一直在改变因素等优先级,但无论我尝试什么,当我尝试运行以下内容:

s = strata(data,c("priority"),size=c(0,0,1,5))
Run Code Online (Sandbox Code Playgroud)

我总是得到以下错误:

Error in data.frame(..., check.names = FALSE) : 
  arguments imply differing number of rows: 0, 1
Run Code Online (Sandbox Code Playgroud)

我尝试调试该函数,看看我是否可以告诉为什么会出现这个错误(但我无法理解代码).在执行strata()函数的这个阶段引发了错误:

debug: r = cbind(r, i)
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

r

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

将系统输出转换为矢量

在下面,我试图获取系统函数的输出来创建每个虚拟主机的连接数的条形图,但是,我不确定如何将此输出转换为用于条形图的向量:

visitors <- system("sudo awk '{print $1};' /var/log/apache2/other_vhosts_access.log | sort | uniq -c | sort -rn | head | awk '{print $1}'")

hosts <- system("sudo awk '{print $1};' /var/log/apache2/other_vhosts_access.log | sort | uniq | sort -rn | head")

barplot(hosts, visitors)
Run Code Online (Sandbox Code Playgroud)

访问者的输出将是一组数字值,而主机应该是(并输出为)文本字符串.

我意识到上面出现的主机和访客不会起作用(假设他们在我的基本理解中不是向量),但这或多或少是我最终会尝试将输出与相应的轴相关联,如果在所有可能的.

输出显示为预期(即,访问者的数值和hosts_的一组字符串,但我不确定如何将这些值转换为可绘制的向量.是否有一个循环方法在每个字符串中循环系统的输出?我想如果在系统内循环,它仍然会被读作单个值,因此,不是可绘图的(据我所知).我是R的新手,所以也许我对如何理解barplot应该被误导了?

r

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

我可以在R会话中调用linux shell命令吗?

我正在使用RStudio,有时我想删除工作目录中的一些文件(例如,以前生成的.csv文件).

频繁切换到bash并执行是非常不方便的rm.有没有办法在R控制台中调用命令?

bash r

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

在R中使用toString函数

我有数字对象a = 1,b = 2,c = 3,d = 4。现在当我使用时:

toString(c(a,b,c,d))
Run Code Online (Sandbox Code Playgroud)

我得到:

"1, 2, 3, 4"
Run Code Online (Sandbox Code Playgroud)

作为输出。如何摆脱逗号?我想要“ 1234”作为输出。还是有其他方法可以做到这一点?

r tostring

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

R ifelse错误地用整数替换文本

我有一些我正在使用Udacity课程的数据(Link:Reddit Survey Responses).我正在尝试通过使用单个单词替换替换任何多字值来简化"就业状态"变量

RS$employment.status <- ifelse(RS$employment.status == "Not employed,  but looking for work",
                               "Unemployed", RS$employment.status)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行代码时,任何不应替换的都将替换为数值.鉴于else的情况是使用字段的值,我不确定为什么文本没有按原样保留.

这是初始数据的屏幕截图 在此输入图像描述

而后 在此输入图像描述

所以,如果有人能指出

  1. 为什么当它看起来不应该是替换时;
  2. 什么是完成我想要实现的目标的正确方法;

非常感谢.

r

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

绘制颜色取决于具有ggplot的类别的时间序列

考虑这个最小的工作示例:

library(ggplot2) 
x <- c(1,2,3,4,5,6)
y <- c(3,2,5,1,3,1)
data <- data.frame(x,y)
pClass <- c(0,1,1,2,2,0)

plottedGraph <- ggplot(data, aes(x = x, y = y, colour = factor(pClass))) + geom_line()
print(plottedGraph)
Run Code Online (Sandbox Code Playgroud)

我有一个时间序列y = f(x)其中x是一个时间步长.每个时间步应该有一个颜色,它取决于时间步的类别,记录在pClass中.

这是它给出的结果:

在此输入图像描述

它对我来说没有任何意义,为什么ggplot将相同颜色的点连接在一起而不是相互跟随的点(geom_line根据文档应该做什么).

如何绘制以下内容:

在此输入图像描述

r ggplot2

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

R循环长数据返回最小值和累积值

这是我的数据的链接.它看起来像这样:

year    cars    company
1975    11.75   chevy
1976    19.71   chevy
1977    21.23   chevy
1978    11.00   chevy
1979    8.26    chevy
1980    8.63    chevy
1981    19.09   chevy
1982    30.52   chevy
1983    27.51   chevy
Run Code Online (Sandbox Code Playgroud)

我想创建两个新的变量列:

  1. year_first,它将返回公司在数据中列出的第一年(例如,对于每个"chevy"行,这将是"1975")
  2. cars_cumulative,它将返回截至该点生产的特定公司的所有汽车的累计总数

因此,我希望我的数据看起来像这样:

year    cars    company year_first  cars_cumulative
1975    11.75   chevy   1975        11.75
1976    19.71   chevy   1975        31.46
1977    21.23   chevy   1975        52.69
1978    11.00   chevy   1975        63.69
1979    8.26    chevy   1975        71.95
1980    8.63    chevy   1975        80.58
1981    19.09   chevy   1975        99.67
1982    30.52   chevy   1975 …
Run Code Online (Sandbox Code Playgroud)

loops r dataframe cumulative-sum

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

R - 用不太复杂的东西替换唯一标识符

我有两个数据框,它们与一个非常长的用户ID相关,我想用更可读的东西替换这些值,比如一个简单的整数值.显然,我想在数据框架之间保持这些值一致,我想知道是否有一种简单的方法可以做到这一点.这是data.frames的样子:

ArtistData - 显示用户收听特定艺术家的次数:

UserID                                     Artist      Plays
00000c289a1829a808ac09c00daf10bc3c4e223b   elvenking   706
00000c289a1829a808ac09c00daf10bc3c4e223b   lunachicks  538
00001411dc427966b17297bf4d69e7e193135d89   stars       373
...                                        ...         ...
Run Code Online (Sandbox Code Playgroud)

UserData - 显示每个用户的信息:

UserID                                     gender   age  country
00001411dc427966b17297bf4d69e7e193135d89   m        21   Germany
00004d2ac9316e22dc007ab2243d6fcb239e707d   f        34   Mexico
000063d3fe1cf2ba248b9e3c3f0334845a27a6bf   m        27   Poland
...                                        ...      ...  ...
Run Code Online (Sandbox Code Playgroud)

所以基本上,我可以用每个数据帧之间一致的整数替换对我没有意义的长字符串吗?

r unique identifier

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

使用 texreg 和 Rmarkdown 获取 Word 文档

当我使用时Sweave,我喜欢texreg将漂亮的模型结果打印到乳胶中的包装。我转而RMarkdown制作 Word 文档,但由于我无法回收旧texreg代码,所以我面临着问题。

有什么方法可以修改这个块以在Word中获得漂亮的打印输出吗?

注意:upgradesngr.fx是一个plm包对象。

{r summary,echo=FALSE,results='markup'} htmlreg(list(upgradesngr.fx), star.symbol = "\\*", center = TRUE, doctype = FALSE)

r ms-word r-markdown texreg

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

ANOVA表的R重要性代码?

测试数据框:

> foo
      x     y     z
1 0.191 0.324 0.620
2 0.229 0.302 0.648
3 0.191 0.351 0.626
4 0.229 0.324 0.630
5 0.152 0.374 0.656
6 0.191 0.295 0.609
7 0.229 0.267 0.665
8 0.152 0.353 0.657
9 0.152 0.355 0.655
Run Code Online (Sandbox Code Playgroud)

两个线性模型:

model1 <- lm(z~polym(x,y,degree = 1),data=foo)
model2 <- lm(z~polym(x,y,degree = 2),data=foo)
Run Code Online (Sandbox Code Playgroud)

两个模型的ANOVA返回:

> anova(model1,model2)
Analysis of Variance Table

Model 1: z ~ polym(x, y, degree = 1)
Model 2: z ~ polym(x, y, degree = 2)
  Res.Df      RSS …
Run Code Online (Sandbox Code Playgroud)

regression r anova

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