小编Err*_*404的帖子

用awk搜索多个条件字符串

我有一组看起来像这样的数据

col1    col2    col3    col4
ABC1    DEF1    GHI1    cond1
ABC2    DEF2    GHI2    cond1-cond2
ABC3    DEF3    GHI3    cond2/cond1
ABC4    DEF4    GHI4    cond2 cond1
ABC5    DEF5    GHI5    cond4/cond1
ABC6    DEF6    GHI6    cond1
ABC7    DEF7    GHI7    mcond1
ABC8    DEF8    GHI8    cond2
ABC9    DEF9    GHI9    cond1 at 50
ABCa    DEFa    GHIa    con cond1
ABCb    DEFb    GHIb    no. cond1
ABCc    DEFc    GHIc    cond1 something
ABCc    DEFc    GHIc    Mcond1
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写几个命令来根据"col4"分离数据,以获得:

  1. 包含字符串"cond1"的文件,除了"M"和"m"字母之外或之后的ANYTHING.我目前正在使用此命令(显然不排除M和m):

    awk 'BEGIN{IGNORECASE=1} $4 ~ /.cond1/ || $4 ~ /cond1./ ' /filepath.tab
    
    Run Code Online (Sandbox Code Playgroud)

    另请注意,第4行,第9行和第11行数据包含"cond1"和其他字符串之间的空格,我希望在文件中包含此内容.(命令中的"."是否包含空格?)

  2. 我写了一个命令,只在"col4"中获取一个包含"cond1"的文件

    awk 'BEGIN{IGNORECASE=1} …
    Run Code Online (Sandbox Code Playgroud)

unix linux awk sed

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

在R中没有重复的组合

我试图获得变量元素长度3的所有可能组合.虽然它部分适用于combn(),但我并没有得到我想要的输出.这是我的例子

x <- c("a","b","c","d","e")
t(combn(c(x,x), 3)) 
Run Code Online (Sandbox Code Playgroud)

我得到的输出看起来像这样

       [,1] [,2] [,3]
  [1,] "a"  "b"  "c" 
  [2,] "a"  "b"  "d" 
  [3,] "a"  "b"  "e" 
Run Code Online (Sandbox Code Playgroud)

出于两个原因,我对这个命令并不满意.我想得到一个输出"a + b + c""a + b + b"....不幸的是我无法用paste()或其他东西编辑输出.

我也期待着每组字母的一个组合,即我得到"a + b + c"或"b + a + c"但不是两者.

variables combinations r paste

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

无法在 R 中加载任何包(无法加载共享对象)

过去 2 年我一直在使用 R。我昨天试图启动该程序以运行我的脚本之一,但我使用的包未能加载。我不确定发生了什么,因为它之前工作正常。我试图卸载并重新安装该软件,但没有任何帮助。这是我在 require()/library() 包(例如 ggplot2)时遇到的错误:

>require(ggplot2)
Loading required package: ggplot2
Error in inDL(x, as.logical(local), as.logical(now), ...) : 
  unable to load shared object '//mypath/myuser/data/Documents/R/win-library/3.2/digest/libs/x64/digest.dll':
  LoadLibrary failure:  Access is denied.

>library(ggplot2)
Error in inDL(x, as.logical(local), as.logical(now), ...) : 
      unable to load shared object '//mypath/myuser/data/Documents/R/win-library/3.2/digest/libs/x64/digest.dll':
      LoadLibrary failure:  Access is denied.
Run Code Online (Sandbox Code Playgroud)

我发现很多人在不同的网站上问同样的问题,但他们的主要问题是特定的包。我对所有包裹都遇到了这个问题。有什么想法可以解决这个问题吗?非常感激。

error-handling dll r package shared-objects

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

将变量名称分配给R中的输出图

我是R statistics的新用户.我有一个巨大的for循环,多个大型文件,循环最终给我一个图的结果.

一切正常,除了输出文件名.我想要做什么?

我在用

data1 <- read.csv("filepath/filename", header=TRUE, sep=",")
data2 <- read.csv("filepath/filename", header=TRUE, sep=",")
data3 <- read.csv("filepath/filename", header=TRUE, sep=",") 
Run Code Online (Sandbox Code Playgroud)

等等...阅读我的文件.

我希望输出图形文件名包含数据文件的名称和生成它的列.例如:

graph1-data1-data3-columnE.pdf
Run Code Online (Sandbox Code Playgroud)

重要说明:我正在阅读的所有文件都具有完全相同的列名和编号.

我应该用什么命令来做这件事?

variables filenames r graph assign

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

条形图设计问题

我正在做一个14列的条形图来表示一些数据,我将names.arg选项设置为显示为垂直标签,不幸的是,这导致新的垂直标签与我所拥有的"sub"和"xlab"选项重叠.我该如何防止这种情况发生?

这是我的命令:

par(mar=c(6, 5, 4,7.5 ))
barplot(x, main=paste("title1 \n","subtitle"),
names.arg=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14),las=2, sub=("overlapping text1"),
xlab="overlapping text2", col = c("red2","darkorange3"))
Run Code Online (Sandbox Code Playgroud)

我想到的另一个问题是,我在命令中可以看到"主"中的2行标题.是否可以使第二行字体更小,同时保持第一行的格式相同?

谢谢,

r

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

对R中的"未定义列选择"进行故障诊断

我试图使用此命令从我的数据中删除所有列的方差为零的列

file <- file[,sapply(file, function(v) var(v, na.rm=TRUE)!=0)]
Run Code Online (Sandbox Code Playgroud)

这个命令对我之前的数据集非常有效,现在我正在尝试在新的数据集上使用,它给出了以下错误:

Error in `[.data.frame`(file, , sapply(file, function(v) var(v, na.rm = TRUE) !=  : 
undefined columns selected
In addition: Warning message:
In var(v, na.rm = TRUE) : NAs introduced by coercion
Run Code Online (Sandbox Code Playgroud)

问题是我没有选择任何列,我只是将函数应用于所有列!为什么我会收到一个错误,告诉我选择了未定义的列!什么可能出错?

数据看起来就是这样

    col1   col2   col3   col4
1   FIA    3.5     2.4    NA
2   DWF    2.1     NA     3.7
3   LIK    0.25    2.3    1.38
4   JUW    2.1     4.0    3.2
Run Code Online (Sandbox Code Playgroud)

r dataframe

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

删除相关矩阵中的NA

我正在为4000变量的数据帧做一个相关矩阵,我想删除显示> 0.5相关的变量,所以我使用{caret}包中的这个命令.

removeme <- findCorrelation(corrMatrix, cutoff = 0.5, verbose = FALSE)

Error in if (mean(x[i, -i]) > mean(x[-j, j])) { : 
missing value where TRUE/FALSE needed
Run Code Online (Sandbox Code Playgroud)

我的数据变化很大,我在这里和那里得到NA值.首先,我在这个命令的帮助页面上找不到可以处理NA值的东西,所以我决定自己删除NA值.

一些变量在数据中一直显示NA值,有些变量显示很少的NA值.我试图删除导致任何NA值的变量,以便我能够使用上述命令.这是我的数据的最小例子

dput(df) <- structure(list(GK = 1:10, HGF = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 
0L, 0L, 0L), HJI = c(2L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), 
    HDF = c(5L, 6L, 8L, 9L, 5L, 2L, 4L, 3L, 2L, 1L), KLJG = c(0L, 
    0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, …
Run Code Online (Sandbox Code Playgroud)

variables r matrix correlation na

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

在R中查找不同列中的字​​符串

我有一个包含数百行的4列数据集,这里有一些示例:

A      B     C     D     
V1     V2    V100    V4
V15    V5    V6    V100 
V8     V3    V9    V10
V3     V11   V12   V13
Run Code Online (Sandbox Code Playgroud)

我想获得A列中的变量列表,但不是其他变量列表(如上例中的V1),然后是C列和D列中的另一个变量列表,但其他变量列表中没有变量列表(如示例中的V100) ) 等等.任何简单的命令,可以做到这一点,而不必进入复杂的for循环?

重要提示:我所拥有的名字太复杂了(而且它们包括支架,啪啪声,背板和瑕疵)这只是我所拥有的一个简单的表示.

谢谢,

string variables search r multiple-columns

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

R中的数据标准化

我正在为大型电子表格做一些PCA分析,我正在根据负载选择我的PC.据我所知,由于我的数据有不同的单位,因此在进行PCA分析之前必须进行标准化.

该功能是否prcomp()固有地执行标准化?

我正在阅读prcomp()帮助文件,并在以下参数下看到了这个prcomp():

scale. a logical value indicating whether the variables should be scaled to have
       unit variance before the analysis takes place. The default is FALSE for 
       consistency with S, but in general scaling is advisable. Alternatively, a
       vector of length equal the number of columns of x can be supplied. The
       value is passed to scale.
Run Code Online (Sandbox Code Playgroud)

"将变量缩放到单位方差"是否意味着标准化?

我目前正在使用此命令:

prcomp(formula = ~., data=file, center = TRUE, scale = TRUE, na.action = na.omit)
Run Code Online (Sandbox Code Playgroud)

够了吗?或者我应该单独执行标准化步骤? …

r

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

使用变量作为R中的列名称来拟合glm

我试图glm()使用变量而不是列名来适应R,但它不起作用.这可以帮助我自动生成glms.当我glm使用列名称时,程序运行正常,当我用包含列名的变量交换列名时,程序给出并出错.

这是我的命令的样子:

##The data
mydata <- structure(list(var1 = c(10L, 100L, 50L, 40L, 20L, 50L, 60L, 55L, 
45L), var2 = c(1.5, 1.2, 1, 1.4, 1.2, 1.4, 1.3, 1.4, 1.3), var3 = c(5L, 
3L, 4L, 1L, 5L, 2L, 7L, 5L, 4L), group = structure(c(1L, 1L, 
2L, 2L, 1L, 1L, 2L, 1L, 1L), .Label = c("A", "B"), class = "factor")), .Names = c("var1", 
"var2", "var3", "group"), class = "data.frame", row.names = c(NA, 
-9L))
## My variable
x <- c("var1+var2") …
Run Code Online (Sandbox Code Playgroud)

statistics r character curve-fitting glm

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