我在我的新数据集中工作,我总是用
启动它public class MyType
{
struct Entry
{
public bool IsSet;
public int HandlerCount;
public Action[] HandlerList;
public void Add(Action handler)
{
if (HandlerList == null) HandlerList = new Action[4];
else if (HandlerList.Length == HandlerCount) Array.Resize(ref HandlerList, 2 * HandlerCount);
HandlerList[HandlerCount++] = handler;
}
}
const int N = 10;
readonly Entry[] entries = new Entry[N];
readonly object syncLock = new object();
public void Set(int index)
{
int handlerCount;
Action[] handlerList;
lock (syncLock)
{
if (entries[index].IsSet) throw new InvalidOperationException();
entries[index].IsSet = true;
handlerCount = entries[index].HandlerCount;
handlerList = entries[index].HandlerList;
}
for (int i = 0; i < handlerCount; i++)
handlerList[i]();
}
public void AddHandler(int index, Action handler)
{
if (handler == null) throw new ArgumentException("handler");
lock (syncLock)
{
entries[index].Add(handler);
if (!entries[index].IsSet) return;
}
handler();
}
}
我现在遇到的问题是,如果将字符串作为因子选项设置为TRUE,则R将仅绘制我设置的数据。
每当我尝试使用Stringsasfactors = FALSE绘图时,它会给我下一条错误消息。
options(StringsAsFactors = FALSE)
但是当我将Stringsasfactors设置为TRUE时,它会毫无问题地绘制它......
这是剧本。
plot(Data$Jobs, Data$RXH)
Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: In xy.coords(x, y, xlabel, ylabel, log) : NAs introduced by coercion
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
这是Data $ Jobs和Data $ RXH
#Setting WD.
getwd()
setwd("C:/Windows/System32/config/systemprofile/Documents/R proj")
options(stringsAsFactors = F)
get <- read.csv("WorkExcelR.csv", header = TRUE, sep = ",")
Data <- na.omit(get)
答案 0 :(得分:1)
您所说明的问题源于plot.factor
函数但没有plot.character
函数的事实。您可以通过键入:
methods(plot)
?plot
的帮助页面中没有特别详细说明,但?plot.factor
有一个单独的帮助页面。 R中的函数基于它们的参数被调度:S3仅基于其第一个参数的类和基于其参数签名的S4方法来起作用。在某种意义上,plot.factor
函数详细说明了该策略,因为它会根据第二个参数的类调度到不同的绘图例程,假设它与位置匹配或命名为y
。
你有几个选择:强制绘制方法然后需要使用:::
中缀函数进行控制,因为plot.factor不会被导出或自己做强制或调用更具体的绘图类型。 / p>
graphics:::plot.factor(Data$Jobs, Dat
plot(factor(Data$Jobs), Data$RXH)
boxplot(Data$RXH ~Data$Jobs) # which is the result if x is factor and y is numeric