我有一组看起来像这样的数据
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"分离数据,以获得:
包含字符串"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"和其他字符串之间的空格,我希望在文件中包含此内容.(命令中的"."是否包含空格?)
我写了一个命令,只在"col4"中获取一个包含"cond1"的文件
awk 'BEGIN{IGNORECASE=1} …Run Code Online (Sandbox Code Playgroud)我试图获得变量元素长度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"但不是两者.
过去 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)
我发现很多人在不同的网站上问同样的问题,但他们的主要问题是特定的包。我对所有包裹都遇到了这个问题。有什么想法可以解决这个问题吗?非常感激。
我是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)
重要说明:我正在阅读的所有文件都具有完全相同的列名和编号.
我应该用什么命令来做这件事?
我正在做一个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行标题.是否可以使第二行字体更小,同时保持第一行的格式相同?
谢谢,
我试图使用此命令从我的数据中删除所有列的方差为零的列
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) 我正在为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) 我有一个包含数百行的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循环?
重要提示:我所拥有的名字太复杂了(而且它们包括支架,啪啪声,背板和瑕疵)这只是我所拥有的一个简单的表示.
谢谢,
我正在为大型电子表格做一些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)
够了吗?或者我应该单独执行标准化步骤? …
我试图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)