我在R中的字符向量编码不一致时遇到问题
我从中读取表格的文本文件被编码(通过Notepad++)UTF-8(我也尝试UTF-8 without BOM过).
我想从这个文本文件中读取表,转换它data.table,设置key并使用二进制搜索.当我试图这样做时,出现以下情况:
警告消息:在
[.data.table(poli.dt,"żżonymi",mult ="first")中:在连接列中检测到已知编码(latin1或UTF-8).data.table比较当前的字节数,因此不支持 混合编码; 即,使用latin1和UTF-8,或者如果任何未知编码是非ascii,其中一些已标记为已知而其他未标记.但是如果单独使用latin1或UTF-8,并且所有未知编码都是ascii,那么结果应该没问题.将来我们会检查你,如果一切正常,请避免这个警告.棘手的部分是这样做而不会影响ascii唯一案例的性能.
和二进制搜索不起作用.
我意识到,我的data.table- key列包括两个:"未知"和"UTF-8"编码类型:
> table(Encoding(poli.dt$word))
unknown UTF-8
2061312 2739122
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方法转换此列(在创建data.table对象之前):
Encoding(word) <- "UTF-8"word<- enc2utf8(word)但没有效果.
我还尝试了几种不同的方法将文件读入R(设置所有有用的参数,例如encoding = "UTF-8"):
data.table::fread utils::read.tablebase::scancolbycol::cbc.read.table但没有效果.
我的R.version:
> R.version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 0.3
year 2014
month 03 …Run Code Online (Sandbox Code Playgroud) 我想在伪分布式模式下设置一个hadoop-cluster.我设法执行所有设置步骤,包括在我的机器上启动Namenode,Datanode,Jobtracker和Tasktracker.
然后我尝试运行一些示例程序并面对java.net.ConnectException: Connection refused错误.我回到了以独立模式运行某些操作的最初步骤,并遇到了同样的问题.
我甚至对所有安装步骤进行了三重检查,并且不知道如何修复它.(我是Hadoop和初学Ubuntu用户的新手,因此,如果提供任何指南或提示,我恳请您"考虑到它").
这是我一直收到的错误输出:
hduser@marta-komputer:/usr/local/hadoop$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep input output 'dfs[a-z.]+'
15/02/22 18:23:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
15/02/22 18:23:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
java.net.ConnectException: Call From marta-komputer/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:791)
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:731)
at …Run Code Online (Sandbox Code Playgroud) 我正在开发一个我使用的闪亮应用程序tabsetPanel,它是在用户输入某些特定输入时生成的.因此,我想使用renderUI函数使tabsetPanel出现/消失.
我现在的奋斗是,元素的数量 tabPanel(参数tabsetPanel)也取决于用户输入,顺便说一下:有时我需要1个,有时我需要更多tabPanels.
怎么做?我尝试在论证中包含conditionPanel或包含简单if()...条件tabsetPanel,但它(并不奇怪......)不起作用.
我正在寻找一种方法来实现我的shinyUI元素的禁用/ abling功能.这里 xiaodaigh给出了一个提示如何禁用/能够actionButton(见下图),这是我想要的结果,但是代码并没有使用我测试的其他gui元素(例如numericInput).
(我知道一个conditionalPanel功能,但这不是我想要的效果.)
我非常感谢任何建议,特别是因为我不太熟悉JavaScript.

我在使用mutate{dplyr}函数时遇到问题,目的是向数据框添加新列.我想要一个新的列是字符类型,并包含来自其他列(也是字符类型)的排序单词的"concat".例如,对于以下数据框:
> library(datasets)
> states.df <- data.frame(name = as.character(state.name),
+ region = as.character(state.region),
+ division = as.character(state.division))
>
> head(states.df, 3)
name region division
1 Alabama South East South Central
2 Alaska West Pacific
3 Arizona West Mountain
Run Code Online (Sandbox Code Playgroud)
我想获得一个包含以下第一个元素的新列:
"Alamaba_East South Central_South"
Run Code Online (Sandbox Code Playgroud)
我试过这个:
mutate(states.df,
concated_column = paste0(sort(name, region, division), collapse="_"))
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:
Error in sort(1:50, c(2L, 4L, 4L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 4L, 4L, :
'decreasing' must be a length-1 logical vector.
Did you intend to …Run Code Online (Sandbox Code Playgroud) 我在ggplot2对象上应用两个不同的更改时遇到问题.我有一个有3组的条形图.我想要:
我找到了以下解决上述问题的方法:
+ scale_fill_manual(values = c("red", "green", "blue"))+ scale_fill_discrete(guide = guide_legend(reverse=TRUE))问题是第二个application(+ scale_fill_discrete(...))覆盖了第一个:
Scale for 'fill' is already present. Adding another scale for 'fill', which will replace the existing scale.
Run Code Online (Sandbox Code Playgroud)
(分别两者都很好).怎么处理呢?
我想在我的data.frame对象中使用dplyr(并且不知道如何操作)对数值变量进行分类.
没有dplyr,我可能会这样做:
df <- data.frame(a = rnorm(1e3), b = rnorm(1e3))
df$a <- cut(df$a , breaks=quantile(df$a, probs = seq(0, 1, 0.2)))
Run Code Online (Sandbox Code Playgroud)
它会完成.但是,我更喜欢在我执行的其他操作的序列中使用某些dplyr函数(mutate我想).chaindata.frame
有没有办法在Shiny中添加一个带有警告或其他消息的弹出窗口(一个可关闭的窗口)- 我用来构建我的Web应用程序的R包?
我一直在寻找,但没有任何结果.
我曾经用knitr它R来生成.Rnw格式的报告.在我的报告中,我经常使用大块的阴影来绘制大量的图并操纵它们的尺寸,例如:
\begin{figure}[h!]
\centering
<<fig.width=6, fig.height=4, out.width='.89\\linewidth'>>=
plot(mtcars)
@
\caption{}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
几个月前.然后我移动到另一个环境,重新安装R并且这些选项似乎不再起作用 - 绘图大小在PDF输出上保持不变!
以下是有关任何选项设置的所有代码行.我期待任何建议我做错了什么.
<< >>=
library(knitr)
knitr::opts_chunk$set(echo=F, eval=T, message = F, warning=F, cache = F, fig=TRUE)
@
\begin{figure}[h!]
\centering
<<fig.width=10, fig.height=3, out.width='.89\\linewidth', fig=TRUE, echo=F>>=
plot(mtcars)
@
\caption{mtcars plot}
\end{figure}
Run Code Online (Sandbox Code Playgroud)
当我使用时,会出现完全相同的结果<<fig.width=10, fig.height=3, fig=TRUE, echo=F>>=.
会话信息
> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-pc-linux-gnu (64-bit)
locale:
[1] LC_CTYPE=en_US.UTF-8
[2] LC_NUMERIC=C
[3] LC_TIME=pl_PL.UTF-8
[4] LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=pl_PL.UTF-8
[6] LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=pl_PL.UTF-8
[8] LC_NAME=C …Run Code Online (Sandbox Code Playgroud) 我有2个向量:
v1 <- letters[1:5]
v2 <- as.character(1:5)
> v1
[1] "a" "b" "c" "d" "e"
> v2
[1] "1" "2" "3" "4" "5"
Run Code Online (Sandbox Code Playgroud)
我想创建一个长度为5的列表,其中包含元素的向量,由两个字符值组成:value from v1和v2相应索引号的值:
> list(c(v1[1], v2[1]),
+ c(v1[2], v2[2]),
+ c(v1[3], v2[3]),
+ c(v1[4], v2[4]),
+ c(v1[5], v2[5]))
[[1]]
[1] "a" "1"
[[2]]
[1] "b" "2"
[[3]]
[1] "c" "3"
[[4]]
[1] "d" "4"
[[5]]
[1] "e" "5"
Run Code Online (Sandbox Code Playgroud)
如何有效地做到这一点R?